文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>c++中关键词explicit

c++中关键词explicit

时间:2010-12-16  来源:Vagrant-Benz

1、禁止"单参数构造函数"被用于自动性别转换

2、能阻止“以赋值语法进行带有转型操作的初始化”

 

例如:对于stack 可以将初始化长度作为参数传给构造函数

1 class stack
2 {
3 public:
4 stack( int size ): m_size(size){}
5 //....
6 private:
7 int m_size;
8 };

 

如果没有explict,我们可以:

1     stack s;
2 //...
3 s = 40;
4
显然如果没有explicit,该构造函数有能力将一个int类型的值自动转换为stack,而不发生任何问题。

 

加上explicit能很好的阻止此情况发生。

 

 1 class stack
2 {
3 public:
4 explicit stack( int size ): m_size(size){}
5 //....
6 private:
7 int m_size;
8 };
9
10 //.....
11 stack sx(100); //Ok
12 stack sy = 100; //Error

 

如果加上explicit会发生编译错误。
相关阅读 更多 +
排行榜 更多 +
猎枪行动

猎枪行动

飞行射击 下载
导弹袭击

导弹袭击

飞行射击 下载
猫猫突围封锁要塞新手打法

猫猫突围封锁要塞新手打法

飞行射击 下载