STL C ++ 11 - 插入器"到位"

时间:2014-03-20 20:38:06

标签: c++11 stl

什么是插入器"到位" STL?

1 个答案:

答案 0 :(得分:1)

通常就地指的是不同类型的算法,其中就地表示算法直接修改序列而不是复制数据,例如稍后修改它并将其存储在新序列中。

std::replace      (src.begin (), src.end (), 10, 20);               // (A)
std::replace_copy (src.begin (), src.end (), dst.begin (), 10, 20); // (B)

在上面的(A)中,将10替换为20 就地的元素,而(B)复制数据并将更改写入一个新的序列(从dst.begin ()开始)。


标准中就地一词的唯一出现是值得一无所知:

  

25.1 一般 [algorithms.general]

     
    

7 为某些算法提供了就地和复制版本。当为算法提供这样的版本时,它被称为算法 _copy。采用谓词的算法以后缀_if结尾,后缀为_copy