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

+ Recent posts