VC++工作笔记0003---C++中的explicit关键字
技术交流QQ群【JAVA,C++,Python,.NET,BigData,AI】:170933152
个人理解:
这个的作用,其实就是,防止隐式转换,因为如果有隐式转换的话,那么用起来,感觉就怪怪的,
比如下面的例子中,本来应该是,CXString string1(24)代表分配24个字节内存,这样用来着,
其实如果不在构造函数前面加explicit关键字的话,就可以这样写
CXString string1=24
这样写的话,感觉就像是给string1赋了个值一样,实际上不是赋值操作,而是给CXString,这个对象分配了
24个字节的内存。
所以,一般情况下,构造函数都要显示的表示出来。
explicit只对,有单个参数的,构造函数起作用,因为多个参数的构造函数,默认的就没办法隐式转换,
如果不加explicit的话,构造函数默认是可以隐式转换的
《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》
首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).
那么显示声明的构造函数和隐式声明的有什么区别呢? 我们来看下面的例子:
class CxString // 没有使用explicit关键字的类声明, 即默认为隐式声明
{
public: char *_pstr;
VC++工作笔记0003---C++中的explicit关键字相关推荐
- c++中的explicit关键字
2007-05-11 14:42:00 | 作者: Admin ] c++中的explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有&quo ...
- 【c++】【转】c++中的explicit关键字
http://www.cnblogs.com/chio/archive/2007/09/17/895263.html c++中的explicit关键字用来修饰类的构造函数,表明该构造函数是显式(调用) ...
- 深入理解C++中的explicit关键字
深入理解C++中的explicit关键字 kezunhai@gmail.com http://blog.csdn.net/kezunhai C++中的explicit关键字只能用于修饰只有一个参数的构 ...
- C++中的explicit关键字用法
c++中的explicit关键字用来修饰类的构造函数,被修饰的类的构造函数不能进行隐式类型的转换,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐 ...
- 【转】认识 C++ 中的 explicit 关键字
C++ 中 explicit 关键字的作用 在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换. explicit使 ...
- C++中的explicit关键字介绍
C++中的关键字explicit主要是用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换.类构造函数默认情况下声明为隐式的即implicit. 隐式转 ...
- 【学习笔记】C++ 中的 virtual 关键字与虚函数
目录 先决条件 前言 演示示例 virtual 关键字的作用 虚函数的规则 参考与拓展 深入拓展 先决条件 了解 C++ 中的多态这个概念. 前言 virtual 关键字是面对对象中,用于修饰类中的成 ...
- VC++工作笔记0002---积累-VC++中的L“”是什么意思
技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 代表宽字符 用L标识的是宽字符 标准的字符是一个字符一个字节 宽的是一个字符两个字节. 对应类型是 ...
- VC++工作笔记0001---积累-vc中m_开头的意义
技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 一种变量命名方法-匈牙利命名法,m即member,即定义的变量为成员变量.这是一种命名规范.
最新文章
- mysql查询php输出表格_MySql数据库查询结果用表格输出PHP代码示例_PHP教程
- 《深入理解计算机系统》读书笔记(ch1)
- WdatePicker—WdatePicker日历控件使用方法
- RabbitMQ 集群原理和完善
- 【SSLGZ 2812】2017年10月30日提高组T2 凤凰院真凶
- 佐客牛排机器人餐厅_2018年中国最火的三家餐厅!秘密竟是机器人服务员?
- IC验证-寄存器专项测试
- 位图BITMAP结构
- LC振荡电路以及考虑寄生参数时MOS管开通关断分析
- 如何防止你的代码被窃取?Python代码加密方案汇总(带实例验证)
- 利用无效字节码指令引发逆向工具崩溃(二)
- 嵌入式Linux的低功耗策略研究[转]
- 使用python编写一个完整的接口自动化用例
- 尚医通-阿里云短信服务(二十九)
- 组装电脑配置推荐2022
- 【Matlab风电功率预测】粒子群算法优化BP神经网络风电功率预测【含源码 347期】
- 排序算法比较(C语言)
- 给孩子打印试卷用什么软件?
- js中的 与 | 运算
- TIA博途(西门子PLC)V15/V16上传程序的方法总结
热门文章
- C语言学习笔记---嵌套结构体
- HDU-1068Girls and Boys(二分匹配)
- NYOJ-寻找最大数(贪心)
- DSB2017第一名代码尝试运行(记录自用)(三)
- Android学习笔记(四)——EditText简单登录页面设计
- 查看特定进程杀死进程方法
- go语言之数组与切片
- Spring Cloud 架构 五大神兽的功能
- Docker可视化界面(Consul+Shipyard+Swarm+Service Discover
- glm编译错误问题解决 formal parameter with __declspec(align(#39;16#39;)) won#39;t be aligned...