我在由参考和值到特定类的功能通过对象之间的差异混淆。如果我按值传递对象,我知道默认的拷贝构造函数使得对象的成员由成员副本在给定的功能使用。但是,如果我将对象作为需要深度复制的类的const引用传递,复制构造函数是否仍然被调用?说我有一个功能构造函数调用和物体通过
void debug(const MyClass& object1);
会通过object1调用复制构造函数吗?或者是对象直接传递给函数而没有创建副本?还有一个问题 - 如果我有一个叫Fraction-
类 Fraction A(1,2); // 1 is this numerator, 2 the denominator
A = Fraction(2,3);
是否在上述行调用默认构造函数来创建一个临时目标级(2,3),然后赋值运算符?
谢谢。
对不起,我不是很明确。我真的想知道是否调用构造函数来构造临时对象Fraction(2,3),然后通过默认赋值运算符将其分配给A. – jonnywalkerr 2013-03-25 02:29:14