C++中explicit
【explicit】
1.用于抑制隐式转换,即:
X x = 12; // error X 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

浙公网安备 33010602011771号