是否可以在类函数中创建'this'指针的本地副本?目的是修改副本并将其返回,而不修改“this”本身。
该功能如下所示:
classA classA::function() {
classA newObject = //where I need help;
//modification of newObject
return newObject;
}
答案 0 :(得分:6)
只要您的类提供复制构造函数,只需根据需要解除引用this
指针,就可以从this
创建副本:
classA classA::function() {
return *this;
// ^^^^^ Simply dereference and let the compiler do the copying
}
确保您的班级声明遵循Rule of 3/5/zero!