首页 > 编程语言 > 详细

C++编程规范之40:要避免提供隐式转换

时间:2014-01-21 09:49:41      阅读:308      评论:0      收藏:0      [点我收藏+]

摘要:

    并非所有的变化都是进步。隐式转换所带来的影响经常是弊大于利。在为自定义类型提供隐式转换之前,请三思而行,应该依赖的是显示转换。

    隐式转换主要有两个主要的问题:

    1.它们会在最意料不到的地方抛出异常。

    2.他们并步总是能与语言的其他元素有效地配合。

    隐式转换构造函数与重载机制配合得很糟糕,而且会使不可见的临时对象到处出现。在C++中,一个转换序列最多只能包含一个用户定义的转换。可是,如果这其中加入了内置转换,结果就会变得极为混乱。解决方法主要有:

    1.默认时,为但参数构造函数加上explicit。

    2.使用提供转换的命名函数代替转换操作符。

C++编程规范之40:要避免提供隐式转换

原文:http://blog.csdn.net/longshengguoji/article/details/18236843

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