level 2
麻烦大佬解答一下,我在看C++ Primer第五版时看到容器适配器那一章,书上说queue可以基于deque,vector, list实现,但我适应vector实现,调用pop函数会报错,我知道这是因为vector没有pop_front()函数,但是那为啥书上说queue可以使用vector来实现那,还有书上解释的这个queue的pop()说是返回首元素,但不会删除此元素,我试了可以删除,这是怎么回事,在C++reference网站看也是能删除首元素。能辛苦大佬们解答一下吗?
2024年04月07日 01点04分
1
level 11
队列可以使用不同的数据结构实现不意味着有相同的方法;
不同的版本可能有差异
2024年04月07日 02点04分
2
可是基于vector的queue就没删除的函数了,vector自己的pop_back()也没法使用,是不是我理解错了?
2024年04月07日 05点04分
@sqodh 啥意思叫vector的pop_back没法使用?pop_back本来的功能跟queue的pop就不一样()
2024年04月28日 12点04分
level 3
用vector实现queue,queue的pop功能定义为vector.earse(v.begin())不就完了,当然在此之前你需要用临时变量记住首个元素的值然后再erase之后再返回它
2024年04月12日 10点04分
4