[c++] C ++, 벡터로 복사 세트


Answers

반복자를 사용하는 벡터의 생성자를 사용하면됩니다.

std::set<T> s;

//...

std::vector v( s.begin(), s.end() );

v에있는 s의 내용을 원한다고 가정하고, v에 데이터를 복사하기 전에는 아무것도 없습니다.

Question

std::vector 로 복사 :

std::set <double> input;
input.insert(5);
input.insert(6);

std::vector <double> output;
std::copy(input.begin(), input.end(), output.begin()); //Error: Vector iterator not dereferencable

문제가 어디에 있습니까?




집합의 내용을 유지하기 위해 벡터 객체에 충분한 공간을 예약하지 않았습니다.

std::vector<double> output(input.size());
std::copy(input.begin(), input.end(), output.begin());





Links