感谢您提前提供帮助。我正在阅读 Scott Meyers 的《更有效的 C++》一书,但第 29 条“引用计数”中的一个简单程序确实让我感到困惑。程序复制到这里:
String::String(const String& rhs): value(rhs.value)
{
++value->refCount;
}
然后代码:
String s1("More Effective C++");
String s2=s1;
我真的很困惑为什么 s1 和 s2 都会有一个 refCount 2。我的理解是,由于复制构造函数是 pass-by-reference-to-const,在 s2=s1,s2.refCount 将变为 2,而 s1.refCount 将变为 2。 refCount 根本不会改变。请纠正我!!再次感谢。
此致。