如何隐式调用构造函数并显式调用构造函数结果是相同的

时间:2014-07-03 10:26:36

标签: c++ constructor

我是c ++的新手。 我被告知在内部或外部调用构造函数是相同的。 为什么在明确调用构造函数的情况下不涉及赋值操作?

Object A(3)                //implicit
Object A = Object(3);      //explicit

我认为当我们做Object(3)时会创建一个对象; 那么这两件事情又如何相同呢?

1 个答案:

答案 0 :(得分:0)

有关该主题的更多信息,请查看this answer,但在处理现有对象时会调用赋值运算符。您会注意到复制构造函数的类似行为:

Object A;
// the following two lines will call the copy constructor 
// even if the assignment operator is defined.
Object B = A;
Object C(A);