C++ 算法 copy() 函数

定义和用法

copy() 函数用于将一个数据范围的内容复制到另一个数据范围中。

数据范围通过迭代器指定。

实例

例子 1

将一个 vector 的内容复制到另一个 vector 中:

vector<int> numbers = {1, 7, 3, 5, 9, 2};
vector<int> copiedNumbers(6);
copy(numbers.begin(), numbers.end(), copiedNumbers.begin());
for (int number : copiedNumbers) {
  cout << number << " ";
}

亲自试一试

例子 2

将 vector 的前三个值复制到同一 vector 的后半部分:

vector<int> numbers = {1, 7, 3, 5, 9, 2};
copy(numbers.begin(), numbers.begin() + 3, numbers.begin() + 3);
for (int number : numbers) {
  cout << number << " ";
}

亲自试一试

语法

copy(iterator start, iterator end, iterator destination);

参数

参数 描述
start 必需。指向要复制的数据范围起始位置的迭代器。
end

必需。指向要复制的数据范围结束位置的迭代器。

将复制到该位置之前的元素,但不包含该位置上的元素。

destination 必需。指向目标复制位置的起始迭代器。

技术细节

返回: 指向目标数据范围末尾位置的迭代器。

相关页面

教程:C++ 数据结构

教程:C++ 迭代器

教程:C++ 算法