感谢您的帮助。 我正在阅读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