본문 바로가기

C++ Programming/STL

Explicit 키워드

단일 인자를 갖는 생성자가 자동 형 변환이 일어나는 것을 막을 수 있게 해준다. 

class Stack {
    explicit Stack(int size); //size로 초기화하여 stack을 생성한다.
  };

Stack s;
...
s = 40; //int에서 Stack으로 자동 형 변환이 일어난다. -> 에러

Stack s1(40); //OK
Stack s2 = 40; //ERROR

 X x;
 Y Y(x); // explicit conversion

 X x;
 Y y = x; // implicit conversion