C++的explicit关键字
explicit是用来修饰类的构造函数的, 表明该构造函数是显式的.
例子一:
class MyClass
{
public:
MyClass(int num);
};
MyClass myClass1(10); // OK, 这里就是使用MyClass(int num)构造函数
MyClass myClass2 = 10; // OK, 构造函数只有一个参数时, 编译器会帮你自动转换到构造函数MyClass(int num).
例子二
class MyClass
{
public:
explicit MyClass(int num);
};
//.
MyClass myClass1(10); // OK, 这里就是使用MyClass(int num)构造函数
MyClass myClass2 = 10; // 使用explicit修饰后, 编译器将不自动转换.