gpt4 book ai didi

c++ std::stack 内容在离开函数时不会释放

转载 作者:行者123 更新时间:2023-11-28 05:12:18 24 4
gpt4 key购买 nike

我想在函数err_fun中,离开err_fun()时栈em会被释放,所以em的内容也会同时被释放,为什么我仍然可以在 main 函数中使用堆栈 st 得到正确答案吗?

谢谢。

#include <stack>

stack<int> st;

void err_fun() {
stack<int> em;
st.swap( em );
}

int main() {
err_fun();

//... some operation with stack st.
return 0;
}

最佳答案

em 的内容将被复制,因为这是您在执行时要求的内容 swap .由于 st 在范围内是全局的,因此不会被破坏。

关于c++ std::stack 内容在离开函数时不会释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43269676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com