书山有路勤为径
explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。
class A { public: A(int x) { } }; class B { public: explicit B(int x) { } }; A a = 5;//OK隐式调用 A a1(5);//OK 显式调用 B b = 5;//ERROR B b1(5);/OK