标签: c++ optimization reference return inline
所以我想说我有这个C ++代码:
int& foo() { int temp = 42; return temp; } int main () { int x; x = foo(); cout << x << endl; }
当我尝试编译它时,它完全正常。但它真的不应该,对吧? “temp”超出了foo的范围,我只是通过引用返回它。
是否与编译器优化有关(自动将其设置为内联函数?)?假设我必须使用哪个关键字才能使其不起作用? (我已经尝试过__stdcall)