摘要:
c++中的explicit关键字用来并且只能用来修饰类的构造函数,表明该构造函数是显式的,“显式”的意思是说创建类对象时必须写出构造函数的名称,相对的,“隐式”指的是创建类对象时不必写出构造函数名,只需根据构造函数形参类型指定实参,由编译器进行形参类型到类类型的隐式转换。《C++ Primer》指出:可以用单个实参来调用的构造函数,它自身定义了从形参类型到类类型的一个隐式转换。也就是说,如果c++类的构造函数可以只传一个实参来调用(构造函数的形式参数实际上可能不止一个,但除了传入实参的那个参数外,其他的参数都有默认值),那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转 阅读全文