마땅한 리턴이 없는 함수일 때(int, float, class or struct를 리턴하지 않는 함수), 보통 리턴 타입은 void를 사용할거임. 이때 void 대신 성공 유무를 리턴하기 위해 bool을 사용하는 것이 나을까?
만약 bool을 사용하는게 낫다면, 모든 함수의 리턴은 bool로 통일하고, 리턴 값은 파라미터에 포인터 넣어서 받아오는게 나을까?
개짓거리일까?
마땅한 리턴이 없는 함수일 때(int, float, class or struct를 리턴하지 않는 함수), 보통 리턴 타입은 void를 사용할거임. 이때 void 대신 성공 유무를 리턴하기 위해 bool을 사용하는 것이 나을까?
만약 bool을 사용하는게 낫다면, 모든 함수의 리턴은 bool로 통일하고, 리턴 값은 파라미터에 포인터 넣어서 받아오는게 나을까?
개짓거리일까?
멀티리턴 못하는 찐따언어인가요
걍 옵셔널 쓸까...
두 번째 질문은 옵셔널 쓰면 될 것 같은데, 첫 번째는 음...
그게 바로 c 스타일
구석기 스타일
그냥 스타일 차이이긴 한데 옵셔널이 더 이쁨
output parameter는 웬만하면 쓰는거 아님. Abseil status가 딱 그런 용도긴 함 - dc App
코틀린에선 Unit 과 Nothing 이 구분되어 있음
C 스타일을 예시로 빌리자면 str 계열의 함수는 실패하면 NULL 포인터를 반환하는데 이걸로 성공 여부를 알 수 있음. 물론 좋은 스타일은 아님. 함수의 동작 실패가 치명적이라면(복구 불가능한) void 반환에 예외를 일으키는게 낫고 bool은 지양되는 편이긴 함.
bool쓰면 코드가 자꾸 못생겨짐 - dc App
확실히 C style 코드에서 많이 본 패턴이긴 한데... C++에선 bool return이랑 output parameter는 지양해야겠네요. 댓글처럼 optional 쓰던가 void 리턴 함수 내에서 exit(1)이든 exception이든 처리하는게 맞겠네요. 다들 감사합니다.