どうも、ちょげ(@chogetarou)です。
std::copy_n()を使ってVectorの先頭からN個の要素を取得する方法を紹介します。
方法

std::copy_n()を使ってVectorの先頭からN個の要素を取得するには、3つの引数を使います。
まず、取得する要素数がサイズのVectorを用意します。
次に、std::copy_n()を呼び出します。
std::copy_n()の第1引数に対象のVectorのイテレータの先頭、第2引数に取得する要素数を指定します。
そして、std::copy_n()の第3引数に用意したVectorのイテレータの先頭を指定します。
//T=要素の型, myArray=対象の配列, N=取得する要素数
vector<T> result(N);
copy_n(myVect.begin(), N, result.begin());
上記のcopy_n()は、用意したVectorに先頭からN個の要素を格納します。
使用例
#include <iostream>
#include <vector>
using namespace std;
int main(void){
vector<string> nums = { "one", "two", "three", "four", "five", "six", "seven"};
int n = 3;
vector<string> result(n);
copy_n(nums.begin(), n, result.begin());
for(string item: result) {
cout << item << endl;
}
return 0;
}
出力:
one
two
three
コメント