Получите обратный итератор от вперед итератор, не зная тип значения

В Visual  Studio  2008 и Visual  Studio  2005, по крайней мере, можно определить изменения в переменных среды в настройках проекта.

Открывают Ваш проект. Перейдите к Проекту-> Свойства... Под Свойствами Конфигурации-> Отладка, отредактируйте значение 'Среды' для установки переменных среды.

, Например, если Вы хотите добавить каталог "c:\foo\bin" к пути при отладке приложения, устанавливают значение 'Среды' для "СОЕДИНЕНИЯ КАНАЛОМ = % ПУТИ %; c:\foo\bin".

Here's a screenshot of the settings dialog

24
задан ThisSuitIsBlackNot 24 November 2009 в 01:49
поделиться

2 ответа

STL имеет std :: reverse_iterator :

template <class RandomAccessIterator>
void mySort(RandomAccessIterator first, RandomAccessIterator last) 
{
  typedef std::reverse_iterator<RandomAccessIterator> RIter;
  RIter riter(last);
  RIter rend(first);
  for ( ; riter != rend; ++riter) {
    // Do stuff
  }
}

Важное примечание :

Однако обратите внимание, что когда итератор отменяется, обратная версия делает не указывать на тот же элемент в диапазон, но до предыдущего. Это так, чтобы устроить последний элемент диапазона: Итератор, указывающий на конец элемент в диапазоне при обратном преобразовании изменено, чтобы указать на последний элемент (не выше) диапазона (это быть первым элементом диапазона, если обратное). И если итератор в первый элемент в диапазоне перевернут, обратный итератор указывает на элемент перед первым элементом (это будет последним элементом диапазон, если обратный).

30
ответ дан 29 November 2019 в 00:13
поделиться

Ознакомьтесь с методом base () для reverse_iterator.

-5
ответ дан 29 November 2019 в 00:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: