2017-12-11 7 views
-3

std :: array를 std :: vector로 변환해야하지만 어쨌든 빠르게 수행 할 수는 없습니다. 다음 샘플 코드는 다음과 같습니다std :: array를 std :: vector로 변환하는 방법?

std::vector<char> myvector; 

및 배열 값으로 초기화 :

std::array<char,10> myData={0,1,2,3,4,5,6,7,8,9}; 

가 지금과 같은 벡터를 작성해야합니다.

가장 빠른 방법은 무엇입니까?

답변

2

이터레이터를 사용하는 constructor of std::vector을 사용할 수 있습니다.

[첫 번째, 마지막] 범위의 내용으로 컨테이너를 구성합니다.

std::array<char,10> myData = {0,1,2,3,4,5,6,7,8,9}; 
std::vector<char> myvector(myData.begin(), myData.end()); 
1
std::vector<char> myvector { myData.begin(), myData.end() }; 
0

:

std::vector<char> myvector(std::begin(myData), std::end(myData);