Dado un std::vector
que contiene objetos de MyClass. ¿Cómo puedo crear otro vector que contenga solo datos de un miembro de MyClass usando std::copy
? Supongo que tendría que implementar un back_inserter
personalizado, pero no pude encontrar la manera de hacerlo hasta el momento.Insertador personalizado para 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' es para copiado simple, sin modificar los elementos. 'std :: transform' le permite aplicar una transformación a cada elemento y luego almacenar la salida de la transformación. Que es exactamente lo que quieres :) – jalf
¡gran cantidad de respuestas, gracias! – Nils