C++11代码中最好带上explicit关键字,explicit关键字的作用是:
C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).
关键字:构造函数只有一个参数(当有多个参数时,自动会被指明,就不存在这个情况) 构造函数是显式的而不是隐式的
为了防止以下情况的出现:
class A{
public:
A(int a):m_a(a){}
private:
int m_a;
};
A test_a = 10;