반응형
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
낌새만 보이면 const를 들이대보자!
- const를 사용하면 확실하기 수정 범위를 지킬 수 있음
- 상수 멤버 함수도 잘 활용하자
- 이 때 중복 코드가 발생할 수 있음
- operator[]와 const operator[]을 선언하면 거의 동일한 코드가 중복됨
- 해결하려면? => operator=[]const_cast와 static_cast를 사용하여 const operator[]를 호출!
- operator[]와 const operator[]을 선언하면 거의 동일한 코드가 중복됨
- 이 때 중복 코드가 발생할 수 있음
반응형
'Book & Lecture > Effective C++' 카테고리의 다른 글
Effective C++ 항목8 : 예외가 소멸자를 떠나지 못하도록 붙들어 놓자 (0) | 2023.02.06 |
---|---|
Effective C++ 항목7 : 다형성을 가진 기본 클래스에서는 소멸자를 반드시 가상 소멸자로 선언하자. (0) | 2023.02.05 |
Effective C++ 항목6 : 컴파일러가 만들어낸 함수가 필요 없다면 사용을 금지하자 (0) | 2023.01.27 |
Effective C++ 항목5 : 컴파일러가 기본으로 만드는 함수들에 촉각을 세우자 (0) | 2023.01.26 |
Effective C++ 항목4 : 객체를 사용하기 전에 반드시 그 객체를 초기화하자 (0) | 2023.01.25 |