explicit는 클래스를 생성할 때 생기는 암묵적 형변환(자동 형 변환)이 일어나는 것을 막아주는 기능을 합니다.
선언과 동시에 대입 연산자를 실행하는 것에 대해 확실하게 해주는 역활을 한다.
class A
{
public:
A();
explicit A(int x);
}
void main()
{
A a;
// a = 1; Error
a = A(1); // 확실하게(명시적으로) 선언해야함.
}
explicit는 클래스를 생성할 때 생기는 암묵적 형변환(자동 형 변환)이 일어나는 것을 막아주는 기능을 합니다.
선언과 동시에 대입 연산자를 실행하는 것에 대해 확실하게 해주는 역활을 한다.
class A
{
public:
A();
explicit A(int x);
}
void main()
{
A a;
// a = 1; Error
a = A(1); // 확실하게(명시적으로) 선언해야함.
}