Я хочу понять, действительно ли в этой части кода указатели, хранящиеся в векторе, на func()
действительны при обращении от main_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
Извините указатели, вопрос отредактирован соответствующим образом –