我對於複製事件的時間以及在C++中引用它們的時間有點困惑。例如,我有一個非常簡單的方法,這裏的參數是引用:當setter-method參數是C++中的引用時會發生什麼?
void setTimeSig(const int &tsNumerator, const int &tsDenominator) {
this->timeSigNum = tsNumerator;
this->timeSigDenom = tsDenominator;
}
這是否意味着,因爲我使用的引用,當函數,其中setTimeSig
完成後,用timeSigNum
和timeSigDenom
對象將有這兩個字段爲空?抑或是在這一點上被複制:this->timeSigNum = tsNumerator;
而且同樣的事情多了一個問題:
class A{
public:
B bObject;
}
B b;
A a;
a.bObject = b;
是bObject
現在引用到B或它包含一個副本?
任何有關我應該在哪裏閱讀的信息都非常感謝。我仍然困惑許多事情。
閱讀的一個(這些) (HTTP://計算器。com/questions/388242/the-definitive-c-book-guide-and-list)應該讓你的理解變得更好。 – chris 2012-07-26 13:59:03
複印件均在兩種情況下進行。請記住,引用只能在被初始化時引用到對象(在函數調用時,在您的情況下)。 – jrok 2012-07-26 14:01:02