我想知道是否可以通过在成员函数内创建一个新结构并将其分配给 this
关键字来替换整个数据结构。假设我有一个名为 object
的数据结构,它有一个名为 update 的成员函数,如下所示:
struct object {
//guts of the object
}
object newobj(int i) {
//function to create a new object from an integer
}
object::update(parms) {
//member function of objects
this = newobj(1)
}
我可以用这种方式更新object
吗?如果不是,我如何在成员函数内更新对象中的所有值而不单独更新它的每个元素?
最佳答案
没有。这将仅更改 this
指针。然而,您可以做的是:
*this = newobj(1);
这将执行值复制(或调用移动语义)。
关于c++ - 我可以使用 `this` 关键字从对象自身的成员函数更新对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22647429/