기록중
[C++] explicit 키워드 본문
class Int32 { public: int val; // 변환 생성자: 어떠한 키워드를 사용해서 변환 생성자를 만드는 것이 아니라, 인자가 1개인 // 생성자는 모두 변환 생성자로 사용될 수 있다. --> 버그임. 이를 해결하기 위해 "explicit"가 나옴. explicit Int32(int v) : val(v) {} }; void print_int32(Int32 i32) //Int32 i32(n) { cout << i32.val << endl; } int main() { Int32 i32(1); // -> Int32 i32 = Int32(1); -> Int32 i32(Int32(1)); print_int32(i32); int n = 1; print_int32(n); // explicit 키워드 사용시 ERROR }
'Study > C\C++' 카테고리의 다른 글
[C++] shared_ptr make_shared_enabler (0) | 2016.03.16 |
---|---|
[C++] 복사 생성자와 대입 연산자 (0) | 2016.02.25 |
[C++] 객체를 새로 만들어 mutable 회피 (0) | 2016.02.24 |
[C++] 싱글턴 (0) | 2016.02.24 |
[C] const : * 기준으로 왼쪽 "대상체", 오른쪽 "포인터" 상수화 (0) | 2016.02.24 |
Comments