gpt4 book ai didi

c++ - 调用 `list::end()` 不是很低效吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:02:48 25 4
gpt4 key购买 nike

在一本 C++ 编程书籍中,我看到了 std::list 迭代器的以下内容:

for (iterator = list.start(); iterator != list.end(); iterator++)

一直调用list.end()不是效率低吗?将结束保存到另一个变量会更好还是 C++ 编译器(即 g++)会自动处理这个问题?

最佳答案

list::end() 应该具有恒定的时间复杂度,特别是对于链表,这意味着它可能非常高效。

如果您的算法允许,存储值的效率可能会稍微高一些(同样,对于特别是链表而言,差异不太可能很大)。

哦,还有请阅读 Steve Jessop 关于自己测试效率的回答!

关于c++ - 调用 `list<T>::end()` 不是很低效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12166385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com