c++中的explicit关键字

网友投稿 244 2022-08-29

c++中的explicit关键字

c++中的explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢?如果c++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象,如下面所示:

class MyClass { public: MyClass( int num ); } .... MyClass obj = 10; //ok,convert int to MyClass

在上面的代码中编译器自动将整型转换为MyClass类对象,实际上等同于下面的操作:

MyClass temp(10); MyClass obj = temp;

class MyClass { public: explicit MyClass( int num ); } .... MyClass obj = 10; //err,can't non-explict convert

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:减营销、重农研,拼多多的故事怎样继续?(拼多多对农业的销售)
下一篇:MySQL custom ringtones
相关文章

 发表评论

暂时没有评论,来抢沙发吧~