首页 > 代码库 > C++中explicit

C++中explicit

【explicit】

1.用于抑制隐式转换,即:

X x = 12; // errorX x(12); // ok

2.只对一个实参的构造函数有效,但是,可以用多有多个实参的构造函数,目前没有意义;

class X {public:  explicit X(int x);  explicit X(int x, int y);  int ex;  int ey;};

3.只能在类定义内部使用,在类外部出现时会发生——编译错误:

class X {public:    ...    explicit X(int x);     ...};explicit X::X(int x) {} // error

 

C++中explicit