坏习惯:用容器的size作为循环终止条件 Rudy 2020-10-28 94 阅读1分钟 今天在写一个需要用到栈的数据结构时,一条循环语句用了stack.size()作为终止条件,结果不符合预期(其实已经遇过很多次了,这是现在才记录下来~),如下图: 其实很好看出什么问题,循环内部会对stack进行pop操作,stack.size并不能保证不变。同理可以拓展到其他容器,最好不要用容器的size作为循环的终止条件。 解决: 将size值保存到一个独立的变量中。 如图: