Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何访问类的对象,其中=&引用;操作员被禁用? 我有一个C类,它的对象是用C++代码生成的指针。_C++_Pointers_Assignment Operator - Fatal编程技术网

如何访问类的对象,其中=&引用;操作员被禁用? 我有一个C类,它的对象是用C++代码生成的指针。

如何访问类的对象,其中=&引用;操作员被禁用? 我有一个C类,它的对象是用C++代码生成的指针。,c++,pointers,assignment-operator,C++,Pointers,Assignment Operator,现在该类中已禁用赋值运算符,因此如何访问该类的对象并进一步使用它 仅仅因为对象分配被禁用并不意味着指针分配被禁用 例如,假设您的类是不可压缩对象,那么下面的代码就可以了 UncopyableObject * obj = new UncopyableObject(); obj->doSomething(); UncopyableObject * another = obj; 你只需要对生命保持谨慎。通过使用智能指针,您可以避免关心生命周期 shared_ptr<UncopyableO


现在该类中已禁用赋值运算符,因此如何访问该类的对象并进一步使用它

仅仅因为对象分配被禁用并不意味着指针分配被禁用

例如,假设您的类是
不可压缩对象
,那么下面的代码就可以了

UncopyableObject * obj = new UncopyableObject();
obj->doSomething();
UncopyableObject * another = obj;
你只需要对生命保持谨慎。通过使用智能指针,您可以避免关心生命周期

shared_ptr<UncopyableObject> obj(new UncopyableObject());
obj->doSomething();
shared_ptr<UncopyableObject> another = obj;
shared_ptr obj(新的不可压缩对象());
obj->doSomething();
共享\u ptr另一个=对象;

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

YourClassName a(arguments);
从这里开始,将
YourClassName*
类型的指针分配给彼此将很好。

Hmmm一些任务

UncopyableObject * obj = new UncopyableObject();
obj->doSomething();
UncopyableObject * another = obj;
做一件事,在cpp文件中创建该类的指针,并使用堆分配为其分配内存

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


现在应该可以用了。。试着让我知道..

C++类。C没有类。但我想我理解你的要求。请看下面的答案,这些成员不是赋值运算符吗?
malloc
不是类类型对象的生存期,除非(可以论证)该对象有一个比malloc更简单的构造函数。我们可以使用新运算符吗?新类[内存]是的,你可以使用
new
好的。在这种特殊情况下,如果不使用malloc并使用新类[memorysize],它将不起作用@我不知道你想说什么,我不知道你想说什么