블로그 이미지
이태원에서 사는 다섯식구의 무직 가장. 흰둥에미

카테고리

분류 전체보기 (184)
Itaewon (2)
ryu's?? (1)
20121210이전 (20)
20130827이전 (147)
soo'study (13)
Total39,468
Today11
Yesterday4

항목 26 - 28

20130827이전/EC++ / 2012.12.22 04:16

구현....


항목 26. 변수 정의는 늦출 수 있는 데까지 늦추는 근성을 발휘하자.

더보기

               상황이나, 생성, 소멸자 호출의 비용에 따라 적절한 루프를 적용하자.


항목 27. 캐스팅은 절약, 또 절약! 잊지 말자.

            구형 스타일의 캐스팅은 자제하자. 소스에서 찾기도 힘들고, 실제로 어떤 캐스팅이 이루어지는지 가독성이 좋지 않다.

            물론 꼭 필요한 상황이 아니라면, 캐스팅을 사용하지 않는 쪽으로 구현, 최소한 함수안에 숨겨라.

            const_cast - 객체의 상수성을 없애는 용도 (혹은 휘발성을 제거하는 용도로도 쓰임)

            dynamic_cast - 안전한 다운캐스팅, 실패시 nullptr 반환, 런타임 비용이 높음.

            reinterpret_cast - 포인터를 int로 바꾸는 등의 하부 수준 캐스팅, 이식성이 없음.

            static_cast - 암시적 변환을 강제로 진행할 때 사용. 흔히들 이루어지는 타입 변환을 거꾸로 수행하는 용도.


항목 28. 내부에서 사용하는 객체에 대한 '핸들'을 반환하는 코드는 되도록 피하자.

            멤버 함수에서 데이터 멤버의 참조자를 꼭 반환해야 하는 상황이라면, const를 붙여라.


'20130827이전 > EC++' 카테고리의 다른 글

항목 32 - 35  (0) 2013.01.08
항목 29 - 31  (0) 2013.01.03
항목 26 - 28  (0) 2012.12.22
항목 22 - 25  (0) 2012.12.22
항목 18 - 21  (0) 2012.12.21
항목 13 - 17  (1) 2012.12.21
Posted by 흰둥에미

최근에 달린 댓글

최근에 받은 트랙백

글 보관함