std::vector
에는 MyClass의 객체가 들어 있습니다. std::copy
을 사용하여 MyClass의 한 멤버의 데이터 만 보유하는 다른 벡터를 만들려면 어떻게해야합니까? 나는 사용자 정의 back_inserter
을 구현해야한다고 생각하지만, 지금까지 이것을 수행하는 방법을 이해할 수 없었다.std :: copy 용 사용자 정의 삽입 기
struct MyClass {
int a;
}
std::vector<MyClass> vec1;
// I could copy that to another vector of type MyClass using std::copy.
std::copy(vec1.begin(), vec1.end(); std::back_inserter(someOtherVec)
// However I want just the data of the member a, how can I do that using std::copy?
std::vector<int> vec2;
'std :: copy'는 요소를 수정하지 않고 일반 복사를위한 것입니다. 'std :: transform'을 사용하면 각 요소에 변형을 적용한 다음 변환 결과를 저장할 수 있습니다. 정확히 당신이 원하는 것입니다. :) – jalf
놀랍게도 많은 답변이 있습니다. – Nils