void foo(int** ptr) {
int value = 4;
*ptr = &value;
// **ptr = value;
}
int main(void) {
int value = 7;
int* ptr = &value;
foo(&ptr);
cout << *ptr << endl; // 4
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是 - 由于value = 4在返回后不再有效/超出范围foo,为什么*ptr显示4而不是一些垃圾值?
| 归档时间: |
|
| 查看次数: |
626 次 |
| 最近记录: |