항목 25 : 값, (스마트) 포인터, 참조 중 적절한 방식으로 인자를 얻어라.(Take parameters appropriately by value, (smart) pointer, or reference. )
{ 이번 항목은 함수의 매개변수를 무엇으로 정하는게 좋을까? 란 말과 같다. 매개변수야 필요한 것을 필요한 만큼 인자로 만들면 되지 않을까? 라고 생각 할 수도 있겠지만, C++ 에선 "클래스" 라는 개념이 있기 때문에, 좀 까다로운 것들이 많이 있다. 예를 들자면, 자신의 복사 갯수를 카운팅하는 객체, 소유권 개념이 있는 객체, 스마트 포인터, 다른 것을 카운팅 하는 객체, 데이터 크기가 매우 큰 객체, 또는 매우 작은 객체, 복사 되지 않는 객체, 10개까지만 복사 되는 객체 등... 사용 상에 필요한 용도로 만들어진 이러한 객체들은 "함수의 매개변수로 어떻게 전달 할까?" 를 고민해 봐야 한다. 또는 함수 내부에서 변경될 수 있는가? 에 대한 고민도 같이 해서 const 를 붙여야 하는가? 말이야 ..
책 정리/C++ Coding Standards : C++ 코딩의 정석
2009. 2. 24. 12:42
최근댓글