首页 > 其他 > 详细

explicit

时间:2017-12-24 23:46:30      阅读:224      评论:0      收藏:0      [点我收藏+]

C++用户定义对象之间可以禁止隐式转换。

voiddosomething(A aObject); 

class A { 

public: 

explicit A(int x = 0); 

dosomething(20); // ERROR 隐式转换被禁止

dosomething(static_cast<A>(20)); // OK 显式转换

被声明为explicit 的构造函数通常比non-explicit更好。

综合起来说

C++ 中应该尽量不使用转换,尽量使用显式转换来代替隐式转换,尽量不用reinterper_cast显式转换。

 

explicit

原文:http://www.cnblogs.com/adeng-x/p/8099574.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!