关键词explicit[size=large][/size][align=center][/align]
项目中经常看到关键词explicit,MSDN上的解释为:为了防止隐式使用拷贝构造函数的,就是限制编辑器私自使用默认的转换。
例子如下:
class A{
public:
//explicit
A(int i) : m_i(i){
cout << "Call A(int i)" << endl;
}
A(const A &temp){
this->m_i = temp.m_i;
cout << "Call Copy Constructor" << endl;
}
A & operator = (const A &temp){
m_i = temp.m_i;
cout << "Call Assignment" << endl;
return *this;
}
~A(){
cout << "Call Destructor Fun" << endl;
}
private:
int m_i;
};
int main(){
A a = 0 ;
A b = a;
a = 10; // 这里是什么操作?
return 0;
}
输出结果:
Call A(int i)
Call Copy Constructor
Call A(int i)
Call Assignment
Call Destructor Fun
Call Destructor Fun
Call Destructor Fun
注意上面是调用两次构造函数,也就是A a=0,并没有产生临时变量,并不等效于:tem(0); a = tem;
若构造函数前加上explicit,情况会如下:
error C2440: 'initializing' : cannot convert from 'int' to 'A',不可以隐士的转换。
分享到:
相关推荐
C++ explicit关键字在刚学的时候就接触到了,也从各处了解了一些,但始终云里雾里,在闲来无事的时候再仔细研究了一下,自己消化理解了一下,自认为比其他网友总结的精简而不失准确。
ABAQUS_Explicit_终极完美版
ANSYS Explicit Dynamics Analysis Guide
Fortran code for euler explicit
explicit vumat code material
主要介绍了MySQL 5.6 中的 TIMESTAMP 和 explicit_defaults_for_timestamp 参数,需要的朋友可以参考下
C++入门学习——explicit关键字的作用,相关教程链接如下:http://blog.csdn.net/tennysonsky/article/details/49096977
前端开源库-is-explicit是显式的,以与对象和文本无缝工作的方式组合运算符实例和类型运算符。
Implicit-explicit Finite-difference Lattice Boltzmann Method for Compressible Flows,王勇,何雅玲,We propose an implicit-explicit finite-difference lattice Boltzmann method for compressible flows in ...
vumat subroutin for abaqus explicit
Option Explicit Public txtSQL As String Dim mrc As adodb.Recordset '用户的读写权限标识 Dim mintRW As Integer '状态条中显示的时间信息 Public msBarText As String Public reportSQL As...
2018-xDeepFM- Combining Explicit and Implicit Feature Interactions for Recommender Systems
Quasi-ExplicitCalibrationofGatheral&amp;#39;sSVImodel-Zeliade39、#的盖思勒尔拟显的SVI模型zeliade校准;
using the matlab to solve the 2d heat transfer problem by explicit method
An end-to-end TextSpotter with Explicit Alignment and Attention论文
本程序采用SSPRK2方法求解二维Euler方程,计算超声速顿体绕流。
abaqus显式和隐式的介绍。非常详尽。非常好。有理论有例题
C# 自定义 implicit和explicit转换 demo
Face Alignment by Explicit Shape Regression原文及译文