假设我只是想要一个函数,它接受一个指针作为参数,取消引用它,然后使它等于一个新实例化的类..
例如:
class MyClass {
MyClass(int v) {value = v;}
int value;
}
Set_New_Class(MyClass *x) {
*x = *( new MyClass(1) ); // Messy!!
}
让我困扰的是最后一行..对我来说这看起来很乱,事实上,我什至不确定这是否是正确的方法...
我的方法有什么问题吗?在 C++ 中执行此操作的正确方法是什么?
最佳答案
Set_New_Class
这样的函数真的没有用。只需创建另一个构造函数,它默认将 1 分配给 value
:
class MyClass
{
MyClass(int v) : value(v) {}
MyClass() : value(1) {}
int value;
};
然后
MyClass x;
一般来说,我会在这里给你你想要的。其中x
之前已经定义过了,要重新定义,那么
x = MyClass();
会做的。
关于C++取消引用并将值分配给指针的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24705754/