首页 > 其他 > 详细

【M5】对定制的“类型转换函数”保持警觉

时间:2014-03-04 11:15:42      阅读:334      评论:0      收藏:0      [点我收藏+]

1、隐式类型转换有两种情况:单个形参构造方法和隐式类型转换操作符。

2、单个形参构造方法包括两种情况:声明只有单个形参;或者声明有多个形参,但是除了第一形参,其他的形参都有默认值,也就是说,只要单个形参就能构造对象。

3、隐式类型转换操作符,是一种特殊的方法,可以认为没有形参,没有返回方法,重载了目标类型的方法。

4、隐式类型转换可能在非预期的情况下进行。也就是说,程序员本来没有这个意图,但是编译器为了使方法调用成功,偷偷地进行了隐式转换。因此,隐式类型转应该尽量避免。

5、对于隐式类型转换操作符,最好不要提供,而是应该提供一个AsXXX()方法。

6、对于单个形参构造方法,有两种办法。

  a、对于构造方法使用explicit,可以禁止隐式类型转换。这种情况下,可以显式地进行隐式类型转换。

  b、增加一个代理类。这是因为,隐式类型转换最多只能进行一次。增加代理类,相当于需要进行两次隐式转换才能成功。这种情况下,编译器放弃执行。

【M5】对定制的“类型转换函数”保持警觉,布布扣,bubuko.com

【M5】对定制的“类型转换函数”保持警觉

原文:http://www.cnblogs.com/nzbbody/p/3578966.html

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