在C#中,当您从堆栈弹出时,它会从堆栈中删除该对象并返回该对象.
但是,在C++中因为http://blogs.msdn.com/b/zhanli/archive/2010/06/29/c-tips-why-the-pop-method-of-stl-stack-does-not- return-a-value.aspx,pop函数不会返回该对象.
是什么让C#能够做一些C++无法做到的事情?或者更像C#并不关心这种异常情况是否发生?"如果operator =或copy构造函数抛出异常,那么我们将遇到麻烦:堆栈的内部状态已经改变,但是我们还没有获得弹出元素." (来自链接)