Quiero encontrar el primer elemento en un vector ordenado que tiene un campo menor que algún valor x.
Necesito proporcionar una función de comparación que compare 'x' con el valor interno en MyClass, pero no puedo calcular la declaración de la función.
¿No puedo simplemente sobrecargar '<', pero ¿cómo hago esto cuando los argumentos son '& MyClass' y 'float'?función de comparación para upper_bound/lower_bound
float x;
std::vector<MyClass>::iterator last = std::upper_bound(myClass.begin(),myClass.end(),x);
Ese fue el problema, la función de ordenamiento requiere dos referencias a objetos MyClass. La función de búsqueda debe tomar un MyClass y un float. El mismo problema para usar bind2nd() el operador –
() para comparar cosas, ¿¡ahora por qué no pensé en eso! Cuanto más uso STL, más me encanta Python. gracias –
¿no debería ser const MyClass & left, const MyClass & right? – chmike