C++11 algorithm头文件里面的equal跟==有区别和联系么?

发布于 2021-12-05 15:27:30 字数 211 浏览 972 评论 2

C++11 标准模版库初学者,看到<algorithm>里面方法用equal(iter_begins(), iter_ends(), iter2_begins, [param])对于容器进行比较时有点困惑。不都是用来比较容器中元素是否完全相同么?

初步梳理了一下,容器重载的==也能起到相同作用,但是==对于比较未重载的对象未必起作用。除此之外想知道它们之间更多的区别与联系。谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

吃颗糖壮壮胆 2021-12-06 06:44:46

容器里面可能存储了各类数据,比如按值比较的 string,可能是按地址比较的 char*,或者是某个 class * 对象。

本王不退位尔等都是臣 2021-12-05 16:19:38

algorithm提供的是通用的基于迭代器的算法,只要具备了特定行为的迭代器都可以使用这些算法。至于容器自身,你应当关注的是容器的特性,比如底层存储结构。容器自身的成员函数能够提供效率更好的算法

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文