인풋을 가지고 아웃풋을 만들어내는 함수를 만들때
1.outputtype function(inputtype in);
2. void function(inputtype in, outputtype out);
이런식으로 만들수 있을거 같은데...
1번에서 함수 내부에서 shared_ptr을 생성해서 리턴해주는게 일반적인거 같고...
2번은 외부에서 객체를 만들고 참조나 포인터를 이용해서 결과를 업데이트하는게 일반적이라고 할수 있을거 같은데요...
어떤 방식을 선호하시나요??
경우에 따라서 setinput, getoutput 이렇게 별도로 함수를 만드는 경우도 있긴하겠지만...
그냥 코딩하다가 끄적여봅니다.
RVO가 미심쩍든 아니든 포인터 기반이라 별 의미없을거 같다는 생각이 드네요.
그냥 코딩 스타일과 가독성, 편의성 측면에서 어떤게 나을까 문득 생각이 들어서 작성했습니다.
output 은 output 대로 받고
해당 함수에 대한 성공/실패 여부는 int 형 또는 bool 형으로 return 하는 형태로 사용합니다.
1번 방식으로하면 리턴받은 shared_ptr 널체크해도 되거든요.
shared_ptr쓰면 코드 글자가 늘어나거나 좀 줄이려면 aiias를 설정하거나 해야되는 귀찮음이 있죠.