如何访问禁用“=”运算符的 class 的对象?

How to access the object of the class where "=" operator is disabled?

我有一个 c class ,它的对象在 C++ 代码中生成为指针。

现在赋值运算符在 class 中被禁用,所以我如何访问 class 的对象并进一步使用它。

对象分配被禁用并不意味着指针分配被禁用。

例如,假设您的 class 是 UncopyableObject,以下内容就可以正常工作。

UncopyableObject * obj = new UncopyableObject();
obj->doSomething();
UncopyableObject * another = obj;

你只需要注意生命周期。您可以通过使用智能指针避免关心生命周期。

shared_ptr<UncopyableObject> obj(new UncopyableObject());
obj->doSomething();
shared_ptr<UncopyableObject> another = obj;

你可以像这样用构造函数简单地实例化它

YourClassName a(arguments);

并且从现在开始将 YourClassName* 类型的指针相互分配就可以了。

嗯,有些任务...

做一件事,在你的 cpp 文件中创建一个 class 的指针,并使用堆分配为其分配内存。

class *myfield = (class*)malloc(no_of_instances*sizeof(class))

现在使用头文件中的对象将 myfield 的地址分配给该对象(希望是指针)

现在它应该可以正常工作了..试着让我知道..