quiero un partial_sum de mis elementos en un vector, donde cada elemento es un par. El partial_sum debe agregar incrementalmente los valores dobles (primero de cada par).STL partial_sum con vector <pair <double, uint>>? ¿Cómo implementar el functor binOp?
Ejemplo:
vector<pair<double, unsigned int> > temp_vec;
temp_vec.push_back(make_pair(0.5, 0));
temp_vec.push_back(make_pair(0.2, 1));
temp_vec.push_back(make_pair(0.3, 2));
partial_sum(temp_vec.begin(), temp_vec.end(), temp_vec.begin(), ???); // in place
me debe dar un vector que contiene: [(0,5, 0), (0,7, 1), (1,0, 2)]
¿Cómo implemento el necesario Functor para usar la función partial_sum?
Pude usar mi par en una búsqueda stl lower_bound con un functor personalizado, pero en el caso anterior, no sé cómo declarar la operación binaria.
No sé si ayuda, pero es posible usar la biblioteca de impulso.
excelente. Después de convertir su código en un functor con operator(), funcionó perfectamente. Exactamente lo que quería lograr Solo un comentario: su código es una función "normal". ¿Por qué no publicaste el functor? ¿Hay alguna razón? (Soy un tipo de novato en C++ en comparación con la gente de aquí, tal vez estoy mezclando los términos) – sascha
@sascha: Tienes razón, esto no es un functor, yo era demasiado vago para escribirlo todo. Arreglará. –
Muchas gracias. – sascha