【发布时间】:2014-03-13 15:09:05
【问题描述】:
为什么在 C++11 中提供了 copy、fill 和 generate 的 _n 版本,为什么只提供这些算法?
【问题讨论】:
-
看起来他们已经在 SGI STL 中,这里是包含他们的建议:n2569
-
copy_n和fill_n替换了 C 标准库中的memcpy和memset的功能,为人们从 C 迁移到 C++ 提供了一个很好的垫脚石。跨度> -
如果迭代器不是随机访问的,获取结束迭代器可能需要
O(n)时间。一些迭代器在推进时也有副作用。所以std::copy_n的某些用途不能由std::copy实现。 -
@C.R.为什么这是特定于
copy、fill和generate? -
@Vincent 不是,但它被认为是最有必要的。不要问我为什么。
标签: algorithm c++11 stl standards stl-algorithm