C++构造函数前加上explicit关键字的作用

在构造函数前加上explicit关键字,表示该构造函数只能被显示调用,不能被隐式调用。
构造函数显示调用场景:

T t1(value);//定义对象的同时,通过圆括号给出初值,显示调用构造函数
T *t1=new T(value);//通过new运算符创建对象,通过圆括号给出初值,显示调用构造函数

构造函数隐式调用场景:

T t1=value;//定义对象的同时,通过等号给出初值,会隐式调用构造函数
fun(value);//函数传参,如果形参为类类型,会隐式调用构造函数
发布了224 篇原创文章 · 获赞 48 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/wo198711203217/article/details/104843739
今日推荐