C++ 에서 string을 return해야 하는 method를 만들어야 할 때가 있을 텐데...
일단 상식적으로 local object variable을 reference로 넘기는 것은
local 변수의 scope으로 인해 문제와 그닥 효율적이지 않다고 메이어 아저씨께서 책으로 설명을 하고 계시고...
http://blog.ycshao.com/2012/12/01/effective-c-item-21-dont-try-to-return-a-reference-when-you-must-return-an-object/
그 외 class의 string member variable을 const reference로 넘기는 것은
개인적으로 class의 encapsulation 측면과 method를 잘못 사용할 경우 문제를 일으킬 수도 있다고 생각하여 되도록이면 copy by value로 리턴하는 것을 추천함.
일단 관련 내용을 설명하는 글들을 첨부함.
http://thesyntacticsugar.blogspot.kr/2011/09/evil-side-of-returning-member-as-const.html
https://stackoverflow.com/a/13507934
댓글 없음:
댓글 쓰기