c++中的explicit
来源:互联网 发布:c语言 头文件 编辑:程序博客网 时间:2024/04/30 22:17
explicit,和构造函数一起使用.
explicit constructor指明构造函数只能显示使用,目的是为了防止不必要的隐式转化.
举个例子:
有这样一段代码:
class A
{
public:
A(int);
private:
int num;
};
int Test(const A&) // 一个应用函数
{
...
}
Test(2); // 正确
过程是这样的: 编译器知道传的值是int而函数需要的是A类型,但它也同时知道调用A的构造函数将int转换成一个合适的A,所以才有上面成功的调用.换句话说,编译器处理这个调用时的情形类似下面这样:
const A temp(2); // 从2产生一个临时A对象
Test(temp); // 调用函数
如果代码写成如下样子:
class A
{
public:
explicit A(int);
private:
int num;
};
int Test(const A&) // 一个应用函数
{
...
}
Test(2); // 失败,不能通过隐式类型转换将int类型变量构造成成A类型变量
- extern “C”总结 C++中的explicit关键字
- C/C++中的volatile和explicit
- C++, explicit
- c++-explicit
- c++中的explicit关键字
- c++中的explicit关键字
- c++中的explicit关键字
- c++中的explicit关键字
- c++中的explicit关键字
- C++中的 explicit 关键字
- c++中的explicit关键字
- C++ 中的 explicit
- C++中的explicit
- C++中的explicit关键字
- C++中的explicit关键字
- c++中的explicit关键字
- c++中的explicit关键字
- C++中的explicit关键字
- linux grep命令
- 已知两点,获得方位角
- 关于不能继承Object类和package声明
- virtualbox安装winxp备忘
- 0-1背包问题——使用动态规划方法解决
- c++中的explicit
- Internet Explorer中“检查所存网页的较新版本”究竟影响什么?
- American Art on Display in Russia
- 一、wince5.0开发概述
- android--设置TextView部分文字的颜色和背景(高亮显示)
- 消息的使用
- android--设置TextView部分文字的颜色和背景(高亮显示)
- c# activex控件开发及遇到的错误和解决办法
- WinCE文件目录定制及内存调整