【发布时间】:2013-12-05 06:58:33
【问题描述】:
我有一个关于堆栈的快速问题,我一直想知道。
如果你给变量一个值,然后将它们压入堆栈,一旦它们被放入堆栈中,它们是否仍然包含相同的值,或者这些值会变为“空”并且你必须在堆栈中更改它们?
按照我的理解,一旦你从堆栈中弹出一个变量,它将返回到变量被压入之前的值,对吗?但是,当变量被推送时,它会保留它的值吗?
提前致谢!
【问题讨论】:
-
我们说的是
std::stack<T>,对吧? -
将变量压入堆栈不同于将橙子压入袋子:语义是应用复制而不是移动的语义。这就像把你的橙子塞进袋子里一样,也要把它留着。