`
weihe6666
  • 浏览: 439127 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

关键词explicit

    博客分类:
  • C++
阅读更多
关键词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',不可以隐士的转换。
分享到:
评论

相关推荐

    euler-explicit.f.zip_code_euler explicit_explicit_explicit fortr

    标题中的"euler-explicit.f.zip_code_euler explicit_explicit_explicit fortr"似乎是一个压缩文件的名字,其中包含了"Euler explicit"的关键词,这通常指的是欧拉显式方法,一种常用于解决常微分方程(ODEs)或偏...

    Combining Explicit and Implicit Feature Interactions for Recommender Systems.pdf

    文章的最后提到了“Informationsystems”这一关键词,这表明本文的研究成果将被应用于信息系统领域,特别是在构建更为复杂、精准的推荐系统方面。 在信息技术领域,推荐系统对于提升用户体验、增加平台的用户粘性和...

    Explicit MPC Solutions

    #### 关键词 - 线性二次调节器(LQR) - 分段线性控制器 - 约束 - 预测控制 #### 1. 引言 本研究的动力来源于对线性模型预测控制(MPC)领域的兴趣。MPC是一类控制算法,它基于线性过程模型计算操纵变量轨迹,以...

    Three-Dimensional Dispersive Hybrid Implicit-Explicit Finite-Difference Time-Domain Method for Simulations of Graphene

    关键词包括“石墨烯”,“有限差分时域方法”,“时间稳定性条件”,“混合隐式-显式”,以及“色散材料”。这些关键词反映出文章研究的核心内容及其应用范围。 从应用角度来看,对石墨烯等先进材料的仿真技术的...

    C# 最经典的关键字学习资料

    `base`和`this`帮助我们管理和访问对象层次结构,而`explicit`、`implicit`和`operator`则提供了类型转换的灵活性。同时,`null`、`true`和`false`是处理布尔值和空引用时的基本元素。掌握这些关键字的使用能够使你...

    EXCEL.XLS中快速查找关键词VBA.rar

    Option Explicit Private Sub CommandButton1_Click() Dim ar, br(), i&, j&, k&, m&, myFile$, myPath$, myStr$, Rng As Range, Wb, Ws, tms# Application.ScreenUpdating = False On Error Resume Next If ...

    VBScript 教程 - Kernel001.rar

    Option Explicit 语句 必须用关键词声明 数组变量 显示声明 一维数组 声明 Dim names(3) ' 声明为4个元素的数组 二维数组甚至多维数组 声明 Dim table(参数表) 数组访问 names(Index '索引值) .......................

    Explicit Parameterized Energy Management for Scramjet Transition

    这篇论文的标题为“Explicit Parameterized Energy Management for Scramjet Transition”,中文可以翻译为“吸气式发动机过渡阶段的显式参数化能量管理”。这个标题揭示了文章的核心研究主题,即如何对吸气式发动机...

    毕业论文撰写规范说明

    - 关键词需使用黑体加粗,位于摘要之后另起一行,关键词之间用分号隔开。 - **示例**: - **中文摘要**:本文提供了一个用聚晶立方氮化硼刀具(PCBN)切削淬硬钢的有限元分析模型。该模型基于自适应网格技术和大...

    solr_学习笔记_v1.1

    - `echoParams`:控制是否显示查询参数,支持none、explicit和all三种选项。 - `indent`:控制返回结果是否缩进,主要用于调试JSON、PHP、Ruby等输出格式时。 - `version`:查询语法版本,建议由服务器自动指定,...

    Explicit solution of channel potential and drain current model in symmetric double-gate polysilicon TFTs

    关键词包括:双栅、漏电流、表面势、多晶硅薄膜晶体管。 从这篇研究论文中可以提取出以下知识点: 1. 通道势模型:该研究提出了一个新的物理模型,用于计算未掺杂对称双栅多晶硅薄膜晶体管的通道势。模型基于泊松...

    Abaqus中显示动力学分析步骤.doc

    描述中的关键词“准静态分析”则涉及到了另一种分析类型,它与动力学分析密切相关。 准静态分析是一种假设加载过程非常缓慢,以至于在任意给定时间内系统接近静态平衡的状态。在热力学中,准静态过程被视为理想过程...

    微型抛投侦查机器人传动轴变形分析及优化.pdf

    7. 关键词:文件中的关键词包括“微型抛投侦查机器人”、“传动轴”、“ANSYS Workbench/Explicit Dynamic”、“跌落姿态”和“塑性变形”。这些关键词揭示了研究的核心内容和研究领域。 通过上述内容,可以看出这...

    大数据-算法-掺气水流双流体模型数值模.pdf

    为了有效地求解这些复杂的非线性方程,作者对控制方程进行了有限差分法的离散化,提出了一种修正方法来处理容积分数方程,并且在动量方程中应用了加速收敛的PEA(Pressure Explicit Algorithm)技术。此外,借鉴了...

    ABAQUS帮助里关键字(keywords)翻译.doc

    设置 type=displacement(默认)给定位移历程,explicit 不辨识位移中的跳跃,如果五数值指定,explicit 会省略用户指定的位移值而强制使用零位移边界。 设置 type=velocity 给定速度历程,速度历程可在 standard ...

    Solr6.5 IK分词器

    &lt;str name="echoParams"&gt;explicit &lt;int name="rows"&gt;10 &lt;str name="queryAnalyzer"&gt;ik&lt;/str&gt; &lt;!-- 引用IK分词器 --&gt; ``` 在`schema.xml`或`managed-schema`中定义字段类型: ```xml &lt;!-- 可以添加其他...

    visual environment 教程

    - **统一性**:将显式(Explicit)与隐式(Implicit)求解器关键词合并到同一手册中,实现“单一核心模型用于多个领域”的理念。 - **颜色编码**:对于仅适用于显式或隐式的特定信息进行颜色标记,便于快速识别。 ...

Global site tag (gtag.js) - Google Analytics