resueltos - ¿Cuál es el estado de los rangos en C++?
que es int en c++ (3)
A veces me canso de todo este my_vector.begin(), my_vector.end()
. El año pasado en boostcon, el discurso principal de Andrei Alexandrescu se tituló Iterators Must Go ( video )
¿Hay algún progreso en la introducción de rangos en C ++, por lo que finalmente puedo decir std::sort(my_vector)
?
Hasta donde yo sé, no se ha avanzado en ese sentido.
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
template< class Container >
void sort( Container& c ) { sort( c.begin(), c.end() ); }
int main()
{
using namespace std;
int const data[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 4};
vector<int> v( data, data + sizeof( data )/sizeof( *data ) );
sort( v );
copy( v.begin(), v.end(), ostream_iterator<int>( cout, " " ) );
}
Por supuesto, las llamadas de función de miembro de reemplazo begin
y end
con llamadas de startOf
y endOf
(sus versiones), al menos hasta C ++ 0x ...
El rango en C ++ todavía tiene una experiencia insuficiente.
Como implementación experimental actual, hay Boost.Range 2.0 y Oven Range Library.