본문 바로가기
반응형

Book & Lecture/Effective C++14

Effective C++ 항목4 : 객체를 사용하기 전에 반드시 그 객체를 초기화하자 Effective C++ 항목4 : 객체를 사용하기 전에 반드시 그 객체를 초기화하자 클래스의 멤버 변수를 초기화할 때 생성자 등 함수의 구현 부에서 값을 대입하면? => 기본 생성자 호출 후, 복사 대입 생성자가 호출되어 런타임 시간이 더 걸린다. (비효율적!) 멤버 초기화 리스트(이니셜라이저)를 사용하면? => 초기화와 동시에 값 복사된다. => 복사 생성자만 호출되므로 보다 효율적! 상수와 참조자로 되어있는 멤버 변수는 반드시 초기화 되어야함 갖가지 경우를 모두 기억하기 보다는 멤버 초기화 리스트를 사용하는 것이 안전! 멤버 초기화 리스트 순서는 멤버 변수 선언 순서와 동일하게 가야 유지보수 편리 객체를 구성하는 데이터 초기화 순서는? 기본 클래스는 파생 클래스보다 먼저 초기화 클래스 데이터 멤버는.. 2023. 1. 25.
Effective C++ 항목1~3 정리 요약 Effective C++ 항목1~3 항목1 C++를 언어들의 연합체로 알아보는 안목을 갖자 C++은 아래의 부분들을 완전히 포함한다. 이 부분을 상황에 맞추어 사용하는 안목을 길러야 한다. C를 완전히 포함 객체 지향 개념 포함 템플릿 C++ STL 항목2 #define을 쓰려거든 const, enum, inline을 떠올리자 #define으로 선언된 매크로 상수는 사용된 횟수만큼 컴파일러에 의해 해당 숫자로 바꿔지는 작업 필요 => const 또는 enum 선언하자 const를 사용하되 사본 개수가 한 개로 유지하고 싶다면? static const int NumTurns = 5; // 상수 선언 #define 매크로 함수에는 오류의 여지가 많으므로 inline 함수 우선! 항목3 낌새만 보이면 cons.. 2023. 1. 24.
반응형