Bor*_*sko 4 c++ scope lifetime
我想知道,如果我可以重用指针到循环块内的变量.
int *ptr = nullptr; for (int i = 0; i < 5; ++i) { int j = 5; if (!ptr) ptr = &j; cout << *ptr << endl; }
我相信这段代码适用于所有编译器,但它是否符合标准?
eml*_*lai 6
不,它不起作用.
在第二次迭代中,ptr指向j第一次迭代,它不再存在.此时取消引用ptr是未定义的行为.同样适用于第一次迭代后的所有迭代.
ptr
j
归档时间:
10 年,6 月 前
查看次数:
132 次
最近记录: