gpt4 book ai didi

c++ - 是否应该更喜欢 STL 算法而不是手动循环?

转载 作者:IT老高 更新时间:2023-10-28 12:55:43 26 4
gpt4 key购买 nike

我在这里的问题和答案中看到的迭代器上的“for”循环似乎比 for_each()、transform() 等要多。 Scott Meyers 建议 stl algorithms are preferred ,或者至少他在 2001 年做到了。当然,使用它们通常意味着将循环体移动到函数或函数对象中。有些人可能会觉得这是一个 Not Acceptable 并发症,而另一些人可能会觉得这样可以更好地解决问题。

那么...应该优先使用 STL 算法而不是手动循环吗?

最佳答案

这取决于:

  • 是否需要高性能
  • 循环的可读性
  • 算法是否复杂

如果循环不是瓶颈,并且算法很简单(如 for_each),那么对于当前的 C++ 标准,我更喜欢手动循环以提高可读性。 (逻辑的局部性是关键。)

但是,既然 C++0x/C++11 得到了一些主要编译器的支持,我会说使用 STL 算法,因为它们现在允许 lambda 表达式 - 以及逻辑的局部性。

关于c++ - 是否应该更喜欢 STL 算法而不是手动循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/135129/

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