Что подразумевается под итератором map / set, не декремментируемым? Как сделать, чтобы map.rbegin () -> первая работа?

Я пытаюсь получить последний элемент в моей карте map_of_bit_to_parent

map<long long, long long> ::reverse_iterator itr_rel = map_of_bit_to_parent.rbegin();
long long total_parent_rels = itr_rel->first;

Но само присвоение вызвало ошибку во время выполнения «итератор сопоставления / набора не декремментируемый»

Как сделать такие задания?

-1

Решение

Всегда проверить правильность итератора перед доступом к данным через него.

map<long long, long long> ::reverse_iterator itr_rel = map_of_bit_to_parent.rbegin();
long long total_parent_rels = 0;
if ( itr_rel != map_of_bit_to_parent.rend() )
{
total_parent_rels = itr_rel->first;
}
1

Другие решения


По вопросам рекламы [email protected]