Я не понимаю, как этот пример может возможно работать:Возвращаясь указатель
double * GetSalary() {
double salary = 26.48;
return &salary;
}
main() {
cout << *GetSalary(); //prints 26.48
}
salary
является локальной переменной в GetSalary()
, что после возвращения из функции, эта ячейка может возможно быть перезаписаны другой функцией. Я не вижу, как может возвращаться указатель на локальную переменную (не instanciated на кучу).
Да, возможно, это может быть перезаписано. Или это не так. Вот почему это называется ** неопределенным поведением **, а не ** гарантированным сбоем **. –
его смешно, что код obove является первым результатом, когда я возвращаю указатель google для функции « – user695652
Я часто получаю то же самое. У меня есть идея, что Google изменит ваш поисковый пузырь, когда вы вошли в систему с учетной записью Google. –