感謝您的幫助。 我正在閱讀Scott Meyers的「更有效的C++」一書,但項目29「Reference Counting」中的一個簡單程序真的讓我困惑。 該計劃是在這裏複製:對引用計數感到困惑
String::String(const String& rhs): value(rhs.value) { ++value->refCount; }
然後代碼:
String s1("More Effective C++");
String s2=s1;
我真的很困惑,爲什麼S1和S2都將有一個引用計數2. 我的理解是,既然副本構造函數是通過引用傳遞給const,在s2 = s1之後,s2.refCount將變爲2,而s1.refCount根本不會改變。 請糾正我! 再次感謝。
最好的問候。
我很高興你的例子'Foo'沒有實際的資源可以共享。這會讓這個賦值運算符看起來很簡單。 ;) – 2012-07-15 23:41:13