我想了解在這段代碼中,當從main_func()
訪問時,存儲在向量func()
中的指針是否有效,如果是這樣,爲什麼?在調用的函數內部分配的指針是否有效?
void func(vector<double*>& avector) {
double a=0,b=0;
for (int i=0;i<10;i++) {
double *a = new double[2];
avector.push_back(a);
avector[avector.size()-1][0] = a;
avector[avector.size()-1][1] = b;
}
}
void main_func(){
vector<double*> v;
func(v);
for (int i=0;i<v.size();i++)
{
// access a
// References stored in vector valid???
}
}
你的意思是「存儲的指針」,而不是「參考存儲」對的載體? – PlasmaHH
將指針存儲到向量中動態分配數組的第一個元素是很奇怪的。你確定你需要這樣做嗎? – juanchopanza
很抱歉的指針,相應編輯的問題 –