首页 > 其他 > 详细

explicit关键字

时间:2016-09-06 00:48:50      阅读:175      评论:0      收藏:0      [点我收藏+]

1.通过关键字,可以禁止“单参数构造函数(single argument constructor)”被用于自动类型转换。

典例:群集类别
// 可以将初始长度作为参数传给构造函数。
例:

class a {
      a (int size); // 这个构造函数有能力将一个int自动转换为a。
};

 

a temp;
temp = 10; // 允许

 

class a {
    explicit a (int size); // 加上explicit,上一个代码不被允许
};

 

2.explicit 能阻止以赋值语法进行带有转型操作的初始化。

a temp1(10); // 正确
a temp2 = 10; // 错误

??

因为

A a;

B b(a);    // explicit conversion
A a;
B b = a;   // implicit conversion

这两者之间存在着差异,前者是通过显式类型,根据类型A产生了一个类型为B的新对象;

而后者通过隐式类型转换,产生一个类型为B的新对象。

explicit关键字

原文:http://www.cnblogs.com/xieyuanzhen-Feather/p/5844100.html

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