[C++] explicit 이란?


[C++] explicit 이란?

이번에는 C++의 explicit 키워드에 대해 알아봅시다 explicit 이란? 간단하게 말하면 자동 형변환을 막는겁니다 프로그래머가 의도하지 않은 형변환이 일어나서 에러가 발생하는 사태를 막는 용도입니다 한번 예를 보죠 이런 클래스가 있습니다 class Egg { public: Egg(int _value) { value = _value; } int getValue() { return value; } private: int value; }; 그리고 이런 함수도 있습니다 void cookEgg(Egg e) { int i = e.getValue(); cout << "Delicious!" << endl; } 이런 코드를 실행해봅시다 Egg myEgg(3); cookEgg(myEgg); ↑ 실행결과 예상대로 위 코드는 잘 작동합니다 그런데 이런 코드는 어떨까요? cookEgg(10); 오잉? cookEgg는 Egg 클래스를 매개변수로 받는데 int 형이 들어가있네? 당연히 에러가 ... ...


#Cplusplus #explicit #키워드

원문링크 : [C++] explicit 이란?