프로그래밍/C++ | 2018. 1. 2. 15:45
explicit에 대한 이야기
Explicit란 단어의 사전적 의미는 '분명한, 명쾌한' 입니다.
단어만 봐도 느낌이 옵니다. 개발자의 의도와는 다르게 사용될 여지가 있거나, 그러면 안되는 곳에 쓰일 것 같아요.
간단한 예제입니다.
int형을 클래스 A에 대입하는 이 때 암시적 타입 변환이 이루어 집니다. 만약 생성자를 explicit으로 선언한다면
Effective C++ 책에는
필자의 경우, 암시적 타입 변환에 생성자가 사용될 여지를 남겨둘 뚜렷한 이유가 없는 한, 생성자는 explicit 선언을 우선적으로 합니다. 여러분도 주저 마시고 이런 식으로 해 보시기를 적극 추천하는 바입니다.
라고 쓰여있다.
앞으로 생성자를 만들땐 explicit을 붙이는 것을 습관화 해야겠습니다.
[C++] 스택(Stack), 선형큐(Queue) 구현하기 (0) | 2015.04.26 |
---|---|
[C++] 선행처리자에 대한 이야기( 매크로 함수 #define, const 상수, 인라인 함수 inline) (0) | 2014.07.10 |
[C++] 포인터, 값에 의한 전달, 주소에 의한 전달, 참조에 의한 전달에 대한 이야기 (0) | 2014.07.10 |
[C++] 기억클래스에 대한 이야기(자동변수 auto, 외부변수 extern , 정적변수 static, 레지스터 변수 register) (0) | 2014.07.10 |
[C++] 클래스의 설계 (0) | 2014.07.09 |
Recent Comments