我正在做一些矩陣類,我想知道什麼時候創建一個臨時對象,它是本地的功能權?所以它應該在函數返回時超出範圍,但我不知道爲什麼在這種情況下不會發生這種情況,我可以在函數返回後使用它。使用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