C++/Effective

explicit

하늘하늘 . 2022. 1. 13. 04:09

explicit는 클래스를 생성할 때 생기는 암묵적 형변환(자동 형 변환)이 일어나는 것을 막아주는 기능을 합니다.

선언과 동시에 대입 연산자를 실행하는 것에 대해 확실하게 해주는 역활을 한다.

class A
{
public:
   A();
   explicit A(int x);
}
 
void main()
{
   A a;
   // a = 1; Error
   a = A(1); // 확실하게(명시적으로) 선언해야함.
}