我使用来自Generics.Collections的Delphi TStack(在Delphi XE下)实现了一个堆栈,并注意到当我调用pop时,弹出的对象被释放,这对我来说似乎没有意义,因为我现在无法使用弹出的对象。相反,我发现我可以使用似乎有用的Extract。我的问题是,有没有什么方法可以使用pop,因为它有助于代码的可读性。有没有办法阻止它释放弹出的对象?
作为旁注,我想到使用TObjectStack,因为这允许我控制谁拥有对象,但后来我发现TObjectStack pop是一个实际上不返回弹出的方法,所以它不是很有用。