C++基本语法-----copy

来源:互联网 发布:开网络出租屋赚钱吗 编辑:程序博客网 时间:2024/05/21 22:49

std::basic_string copy

  • copy( dst, count, startInedx )

    • dst : 目的的字符串的首地址
    • count : 要复制的字符的个数
    • startIndex : 起始地址

    std::string s = “1234567890”;
    char c[30];
    size_t len = s.copy(c, s.size() , 3);
    c[len] = ‘\0’;
    cout << c << endl;

  • 注意:可能编译器会报错,查看错误号,如4996,在#include<…>之前加上#pragma warning (disable: 4996)即可。

stl copy

  • 对vector进行复制操作时,可以直接利用中的copy函数
  • 函数

    copy( first, last, dest )
    • first : vector的起始地址
    • last : 末尾地址
    • dest : 目的地址
  • example

    • 需要在头文件中添加#include<vector>

      int src[] = {1,2,3,4,5,6,7};
      vector vec(12);// (src, src + 7);
      copy(src, src+7, vec.begin());

利用inserter进行copy

vector<int>::iterator f = v.begin();copy(vec.begin(), vec.begin() + 3, inserter(v, f));

将vec的前三个元素插入到向量v中,插入的位置是f(此处是begin的位置)

0 0