explict函数
implicit: 含蓄的,内含的,隐式,隐性
explicit: 清楚明白的,显式,直言的
explicit关键字只能用于修饰只有一个参数的类构造函数
它的作用是表明该构造函数是显示的, 而非隐式的
跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).
显示声明的构造函数和隐式声明的有什么区别呢???
implicit 默认的构造方法是存在 一个隐式转换的.
例如 CxString string2 = 10;
编译器自动将整型转换为CxString类对象,实际上等同于下面的操作:
1 | CxString string2(10); |
explicit关键字的作用就是防止类构造函数的隐式自动转换.