給定一個保存MyClass的對象的std::vector
。如何使用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 2012-07-27 11:37:43
哇很多的答案,thx! – Nils 2012-07-27 11:40:58