📅  最后修改于: 2023-12-03 14:59:45.456000             🧑  作者: Mango
copy_n()
函数用于将一个范围内的n个元素复制到另一个范围中,可以用于数组和容器。
template< class InputIt, class Size, class OutputIt >
OutputIt copy_n( InputIt first, Size count, OutputIt result );
其中,InputIt
和OutputIt
分别表示输入和输出迭代器的类型,Size
表示要复制的元素数量。
first
:表示要复制的范围的起始位置count
:表示要复制的元素数量result
:表示目标范围的起始位置返回值为目标范围的末尾迭代器。
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int arr1[] = {1, 2, 3, 4, 5};
int arr2[5];
copy_n(arr1, 5, arr2);
for (int i = 0; i < 5; i++) {
cout << arr2[i] << " ";
}
return 0;
}
输出结果:
1 2 3 4 5
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> vec1 {1, 2, 3, 4, 5};
vector<int> vec2(5);
copy_n(vec1.begin(), 3, vec2.begin());
for (const auto &v : vec2) {
cout << v << " ";
}
return 0;
}
输出结果:
1 2 3 0 0
copy_n()
函数不会检查目标范围是否够大,需要保证目标范围的大小足够。