【发布时间】:2016-06-05 02:22:41
【问题描述】:
这是我有疑问的代码:
int* getPtrToFive() {
int x = 5;
return &x;
}
int main() {
int *p = getPtrToFive();
cout << *p << endl; // ???
}
演讲幻灯片说 *p 不会给出有效结果,因为当 getPtrToFive 返回时,x 超出范围。但是,我认为 getPtrToFive 已经包含 5 的值,这将验证 *p?是因为指针试图将我引导到超出范围 x 的 getPtrToFive 吗?
【问题讨论】: