首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >std::vector::front()是用来做什么的?

std::vector::front()是用来做什么的?
EN

Stack Overflow用户
提问于 2010-01-22 01:22:36
回答 2查看 5.7K关注 0票数 30

如果之前有人问过这个问题,很抱歉,我想知道std::vector::front()的用途是什么。

是否有理由使用myvector.front()而不是myvector[0]myvector.at(0)

EN

回答 2

Stack Overflow用户

发布于 2010-01-22 01:27:05

如果myvector的类型更改为另一种不可索引的数据类型,例如列表,则不必更改访问容器前端的代码。

票数 17
EN

Stack Overflow用户

发布于 2010-01-22 04:53:15

这样做提供了一种称为静态多态性的东西。

假设我使用queue类编写了一个算法。它有一个front()函数来获取队列的下一个元素,还有一个enqueue()函数来添加到队列的末尾。现在,假设我发现这个queue类写得很差,而且非常慢,我宁愿使用std::vector,它要快得多(我知道有一个std::queue,这只是一个例子)。如果获取std::vector的第一个元素的唯一方法是使用v,那么我必须遍历我的代码并将所有对front()的调用替换为。但是通过实现front(),std::vector现在可以替代我的queue类。我需要修改的唯一代码是算法中的容器类型。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2111314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档