C++ 스킬 22: 변수 정의는 늦출 수 있는 데까지 늦추자
C++ 스킬 23: C 스타일의 캐스팅보다는 C++ 스타일의 캐스트를 사용하자.
캐스팅은 적게 사용할수록 좋다.
특히 dynamic_cast는 비용이 크므로 성능이 민감한 코드에서는 호출을 피하자.
C++ 스킬 24: 예외 안정성을 확보하자
ㄴ 자원 관리 클래스 사용하기 (스마트 포인터)
ㄴ Copy and swap 방식으로 객체를 수정하기 (swap은 예외를 던지지 않는 연산 내부에서 수행)
C++ 스킬 25: inline 함수를 활용하자
ㄴ 인라인 함수는 함수 호출 비용을 면제해준다.
ㄴ 인라인 함수는 대체로 헤더 파일에 들어 있게 만들자. 대부분의 빌드 환경에서 인라인을 컴파일 도중에 수행하기 때문에
ㄴ inline을 붙여도 inline이 될지 안될지는 컴파일러가 결정한다. 반복문이 있거나 재귀함수이거나 가상 함수 등은 인라인화 해주지 않는다.
C++ 스킬 26: 파일 사이의 컴파일 의존성을 최대로 줄이자
ㄴ 정의 대신에 선언에 의존하게 만들자
ㄴ 1. 핸들 클래스 사용하기
ㄴ 2. 인터페이스 클래스 사용하기
'읽은 책 > Effective C++' 카테고리의 다른 글
11. 템플릿 (0) | 2022.04.27 |
---|---|
10. 상속 (0) | 2022.04.27 |
8. 소프트웨어 설계 (0) | 2022.04.27 |
7. 자원관리 클래스와 스마트 포인터 (0) | 2022.04.27 |
6. 대입 연산자 (0) | 2022.04.27 |