Предположим, у меня есть объект в диапазоне (r1,r2]
Я хочу вставить в качестве ключей к карте. Они не имеют итератора/следующего определенного, но имеют меньше оператора. Как бы я это сделать:Итерация через объект без следующего() определена
template< class K, class V>
void foo(K r1, K r2, V val) {
for(K key = r1; key < r2; ++key)
{
mMap.insert(make_pair(key,val));
}
}
Я не могу использовать ++key
.
K
может быть любого типа, который copyable
, assignable
, не имеет opertor<
но не и arithmetic operators
.
Как насчет 'std :: next'? – aschepler
для этого мне понадобится итератор ключа 'K'. – has
У 'std :: map' всегда есть итераторы. Я не уверен, что вы спрашиваете. – aschepler