我尝试使用整数上的指针来实现写入时复制。但我不明白如何编写代码。这个想法在我的脑海中非常清晰:当我使用默认构造函数时,我会创建一个对象的新实例(实例数=1),当我使用复制构造函数时,我会增加实例数并进行浅拷贝的对象。
class Myclass
{
public:
Myclass(const char * foo, int foo2) : foo(foo), foo2(foo2)
{
(*ref)=1;
}
Myclass(const Myclass& rhs) :foo(rhs.foo),foo2(rhs.foo2)
{
(*ref)++;
}
const char * foo;
int foo2;
int *ref;
};
我从 C++ 开始,指针的概念对我来说完全是新闻,所以我尝试了这个。但我真的不明白为什么“ref”仍然等于 1,即使我使用复制构造函数创建了对象的副本。