C++笔记(1)explicit构造函数
生活随笔
收集整理的这篇文章主要介绍了
C++笔记(1)explicit构造函数
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
From: http://www.cnblogs.com/cutepig/archive/2009/01/14/1375917.html
----------------------------------------------------------
explicit 只对构造函数起作用,用来抑制隐式转换。如:
class A {
A(int a);
};
int Function(A a);
当调用 Function(2) 的时候,2 会隐式转换为 A 类型。这种情况常常不是程序员想要的结果,所以,要避免之,就可以这样写:
class A {
explicit A(int a);
};
int Function(A a);
这样,当调用 Function(2) 的时候,编译器会给出错误信息(除非 Function 有个以 int 为参数的重载形式),这就避免了在程序员毫不知情的情况下出现错误。
总结:explicit 只对构造函数起作用,用来抑制隐式转换。
参考:
http://blog.csdn.net/smilelance/archive/2007/03/14/1528737.aspx
http://topic.csdn.net/t/20040509/15/3046021.html
总结
以上是生活随笔为你收集整理的C++笔记(1)explicit构造函数的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 高斯数学
- 下一篇: VC++中把一个对话框最小化到托盘[转载