gpt4 book ai didi

c++ - 为什么 C++ 没有标准化在整个容器上运行的算法重载?

转载 作者:行者123 更新时间:2023-12-03 06:56:06 25 4
gpt4 key购买 nike

<分区>

标准 ISO C++ 具有丰富的算法库,包括大量语法糖,如 std::max_elementstd::fillstd::count

我很难理解为什么 ISO 认为适合对许多此类琐碎的算法进行标准化,而不是对在整个容器上运行的算法进行重载。

我真的不明白为什么他们在我们没有完整的容器版本(肯定是迄今为止最常见的情况)或类似地留下 vector 删除惯用语的暴行时添加这些基本的东西:

v.erase(std::remove(v.begin(), v.end(), elem), v.end());

似乎我用 C++ 编写的每个项目,我最终都会包含我自己的自定义头文件,其中包含诸如此类的基本语法糖。

当然,任何微不足道的整个容器重载都可以包含在自定义 header 中。许多标准化的简单算法也是如此。

我想了解的是为什么标准中的东西有很好的理由,例如 std::max_elementstd::fill 在范围上,但不是在整个容器上运行的版本,或用于减少编写 C++ 代码的冗长程度的其他语法糖。

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