博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++中显式、隐式与explicit关键字
阅读量:6161 次
发布时间:2019-06-21

本文共 606 字,大约阅读时间需要 2 分钟。

在Qt的开发中看到explicit,由此展开搜索。

隐式:编译器完成的转换,如

int a = 1;float b = 3;float sum;sum = a + b; //a本是int,编译器将a隐式地转化为了float

显式:用户完成的转换,如

float a=1;float b=3;int s;s = (int)a+(int)b;//a与b被显式地转化为了float

对于函数而非数据,这里有另一个例子[引用]

#include 
using namespace std; class A{  int x;  public:    A(){x=0;cout<<"Create A:0"<
这个程序中:A a1; 隐式调用了A()A *a2=new A(10);显式调用了A(int a) 重载后的A()delete a2;以及程序结束时都隐式调用了析构函数~A() 关于explicit关键字,在网上找了一下,大多很繁琐。 这篇博客讲的比较深入浅出。推荐:一句话:explicit用于构造函数,抑制隐式转换的发生,防止出现误区。 引用:C++ 隐式和显式的区别 - https://zhidao.baidu.com/question/116242760.html

转载于:https://www.cnblogs.com/pityhero233/p/8146585.html

你可能感兴趣的文章
如何进行数组去重
查看>>
将标题空格替换为 '_' , 并自动复制到剪切板上
查看>>
List Collections sort
查看>>
Mysql -- You can't specify target table 'address' for update in FROM clause
查看>>
使用局部标准差实现图像的局部对比度增强算法。
查看>>
2017-2018-1 20165313 《信息安全系统设计基础》第八周学习总结
查看>>
《代码敲不队》第四次作业:项目需求调研与分析
查看>>
菜鸡互啄队—— 团队合作
查看>>
HttpWebRequest的GetResponse或GetRequestStream偶尔超时 + 总结各种超时死掉的可能和相应的解决办法...
查看>>
SparseArray
查看>>
第二章
查看>>
android背景选择器selector用法汇总
查看>>
[转]Paul Adams:为社交设计
查看>>
showdialog弹出窗口刷新问题
查看>>
java
查看>>
Vue.js连接后台数据jsp页面  ̄▽ ̄
查看>>
关于程序的单元测试
查看>>
mysql内存优化
查看>>
都市求生日记第一篇
查看>>
Java集合---HashMap源码剖析
查看>>