Ответ 1
Диапазон в С++ все еще имеет недостаточный опыт.
Как текущая экспериментальная реализация, есть Boost.Range 2.0 и Библиотека Диапазона Духов.
Иногда я устаю от всего этого шума my_vector.begin(), my_vector.end()
. В прошлом году на boostcon, основная речь Андрея Александреску была названа "Итераторы должны идти" (видео)
Есть ли какой-либо прогресс по введению диапазонов в С++, поэтому я могу наконец сказать std::sort(my_vector)
?
Диапазон в С++ все еще имеет недостаточный опыт.
Как текущая экспериментальная реализация, есть Boost.Range 2.0 и Библиотека Диапазона Духов.
Насколько я знаю, в этой области не было достигнуто никакого прогресса.
#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, " " ) );
}
Конечно, замените вызовы функций-членов begin
и end
на вызовы startOf
и endOf
(ваши версии), по крайней мере, до С++ 0x...