reference semantics1 [C++ Core Guidelines] I.11 원시 포인터(T*) 또는 참조(T&) 로 소유권을 넘기지 말자 I.11: Never transfer ownership by a raw pointer (T*) or reference (T&) 이유함수를 호출하거나 함수에서 결과를 반환할 때 누가 해당 데이터의 소유권을 책임지고 있는지 제대로 신경쓰지 않으면 메모리 릭을 일으키거나 실수로 미리 소멸자를 부르는 일이 발생할 수 있습니다. 예시 (나쁜 예)// 나쁨 : 이 함수만 보고는 X 를 누가 책임지고 지울지 알 수가 없습니다.X* compute(args){ X* res = new X{}; // ... return res;} 반환된 X는 누가 삭제할 것인지 의도를 알 수 없습니다. 포인터 대신 참조를 반환하면 문제를 발견하기 더 어렵게 만듭니다.위 경우 차라리 값으로 결과를 반환하는 것이 낫습니다. .. 2024. 12. 10. 이전 1 다음