<分区>
一个类是否可以使用例如这个指针?我正在寻找一种在两个对象之间共享数据的方法。例如,如果一个对象的值与另一个对象相同,我会删除一个对象并将两个对象指向相同的数据以节省空间。以下是我在网上找到的示例代码,可以清楚地解决我的问题,但无法编译。
#include<iostream>
using namespace std;
class Test
{
private:
int x;
public:
Test(int x = 0) { this->x = x; delete this;}
void change(Test *t) { this = t; }
void print() { cout << "x = " << x << endl; }
};
int main()
{
Test obj(5);
Test *ptr = new Test (10);
obj.change(ptr);
obj.print();
return 0;
}
错误信息是:
//~>g++ -std=c++14 mm.C -o mm
//mm.C: In member function ‘void Test::change(Test*)’:
//mm.C:10:33: error: lvalue required as left operand of assignment
//void change(Test *t) { this = t; }