我对何时复制以及何时在 C++ 中引用它们感到有些困惑。例如,我有一个非常简单的方法,其中参数是引用:
void setTimeSig(const int &tsNumerator, const int &tsDenominator) {
this->timeSigNum = tsNumerator;
this->timeSigDenom = tsDenominator;
}
这是否意味着因为我在函数 wheresetTimeSig
完成时使用了引用,所以带有timeSigNum
和的对象timeSigDenom
将使这两个字段为空?还是此时正在复制它:this->timeSigNum = tsNumerator;
还有一个关于同一件事的问题:
class A{
public:
B bObject;
}
B b;
A a;
a.bObject = b;
现在是bObject
引用 b 还是包含副本?
非常感谢有关我应该在哪里阅读或阅读有关此内容的任何信息。我仍然对很多事情感到困惑。