C++返回引用/堆栈内存

标签 c++ function stack

<分区>

一个我不确定答案的基本问题。 follow函数是否有效?

std::vector<int> & test_function() {
   std::vector<int> x;

   // do whatever

   return x;
}

如果是,为什么?程序不应该在函数返回后从堆栈中删除 x 吗?谢谢。

最佳答案

行为未定义。您不应返回对局部变量的引用。

关于C++返回引用/堆栈内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3252292/

相关文章:

Android:清除 Activity 堆栈

c++ - 这怎么可能呢?

c++ - 从其处理程序或处理程序 dtor 中销毁 boost::asio 计时器是否安全?

c++ - 如何居中QMainWindow?

ios - 将 C 函数作为值添加到 NSDictionary

c++ - 推送到自定义堆栈类卡住 .exe

c++ - #if 条件区域可以跨越包含文件边界吗?

c++ - 候选模板被忽略 : could not match 'const type-parameter-0-0 *' against 'char'

javascript - 尝试使用变量减少 javascript 的重复

stack - 可以仅使用一个堆栈来实现类似Forth的语言吗?