【发布时间】:2013-03-14 10:40:50
【问题描述】:
我对通过引用传递对象和通过值传递给特定类的函数之间的区别感到困惑。如果我按值传递对象,我知道默认的复制构造函数会生成对象的逐个成员副本,以便在给定函数中使用。但是,如果我将对象作为需要深度复制的类的 const 引用传递,是否仍会调用复制构造函数?说我有一个函数
void debug(const MyClass& object1);
传递 object1 会调用复制构造函数吗?还是直接将对象传递给函数而不进行复制?还有一个问题 - 如果我有一个名为 Fraction 的课程-
Fraction A(1,2); // 1 is this numerator, 2 the denominator
A = Fraction(2,3);
上述行是否调用了默认构造函数来创建一个临时对象 Fraction(2,3),然后是赋值运算符?
谢谢。
【问题讨论】:
标签: c++