我正在做一些矩阵类,我想知道什么时候创建一个临时对象,它是本地的功能权?所以它应该在函数返回时超出范围,但我不知道为什么在这种情况下不会发生这种情况,我可以在函数返回后使用它。使用const引用时创建临时变量
下面是一个例子,这是构造函数:
int *data; //member of class
Matrix3(const int (&ar)[N*N])
{
data = const_cast<int*>(ar);
}
,这里是我如何使用它:
Matrix3 m = { {1,2,3,4,5,6,6,6,6} };
现在我仍然可以从析构函数访问该对象通过data
指针这是正常的吗?临时变量是在堆上创建的呢?
数据在类的实例中,只要实例处于活动状态,您可以访问它 – aaronman
因此,如果我没有将其分配给数据,它会继续存在,直到类被销毁? –
如果我明白你的意思是 – aaronman