C++ explicit关键字

explicit关键字,在C++中用来修饰构造函数,且只用来修饰单参数的构造函数;

原因是,在C++中,单参数的构造函数,在没有显式调用的时候,会有隐式的转换,为了避免隐式转换可能带来的问题以及疑惑,我们定义了explicit关键字,用于修饰单参数的构造函数,避免隐式调用构造函数的现象发生;

 

explicit关键字只需用于类内的单参数构造函数前面。由于无参数的构造函数和多参数的构造函数总是显示调用,这种情况在构造函数前加explicit无意义。

 

posted @ 2019-06-12 14:10  rainsoul  Views(152)  Comments(0Edit  收藏  举报