vector这么好用,STL为啥还推出个stack?哈哈,突然被问倒了

作者: jekkay 分类: 默认 发布时间: 2020-07-22 14:16

Vector这么好用,STL为啥还推出个Stack?哈哈,突然被问倒了


今天,有个网友在一个编程群里突然@我,问我STL中的Vector这么好用,为啥还推出个stack啊?本来我想简单地糊弄一下,给个千篇一律的答案:“比如锤子,都是用来锤东西的,就像羊角锤和球头锤一样,侧重点不一样。”

但是,当时也刚好闲着,就冥思苦想了一番。扪心自问写过的C++代码没有50W行,30W也是有的,但是印象中确实没有用到过stack这个容器。如果说是stack是作为一个FILO的队里,那么Vector其实也可以满足要求,而且还更灵活,可以随机存取。如果实在不想用vector,也可以用dequeue完全够用。而事实上,我在写代码中,用比较多的也是vector容器,连array都很少去用,毕竟array无法改变容量大小。

后来,带着这些疑问,我也问了下什么做了很多年C/C++开发的朋友,他们几乎很少去用array和stack,最后都有点蒙圈了,谁能告诉我一下原因么?

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

一条评论
  • jekkay

    2020年7月22日 下午5:54

    有个朋友的回复我觉得挺好的,贴出来:

    好的代码可读性比较好,代码有自释行,能更快的告诉读者你的想法
    用vector与stack,读者的感觉是不一样的,尽管都能实现某个业务

发表评论