Language/C++
[C++] explicit 키워드
bugwasd
2015. 12. 2. 23:52
explicit 키워드는 생성자 앞에 붙여 묵시적인 호출을 허용하지 않을 때 사용 된다.
즉 객체 생성 관계를 분명히 하고자 할 경우 사용하며, 모든 생성자의 explicit 키워드를 붙이는 프로그래머도 많다.
아래는 explicit 키워드 사용 예이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | class AAA { public: explicit AAA(int n) { cout << n << endl;} }; int main() { AAA a1(10); AAA a2 = 10; // error return 0; } |
AAA a2 = 10; 은 묵시적으로 AAA a2(10) 으로 변환되나 explicit 키워드로 묵시적인 호출을 허용하지 않았으므로 에러가 나타난다.