2015-04-30 2 views
1

Я сейчас много разбираюсь в итераторах и хочу знать, знал ли кто-нибудь простой способ получить переменную просмотра со всеми элементами в контейнере, на которые ссылается итераторы, поскольку функции имеют доступ только к итераторам, а не к самим контейнерам.visual studio 2013 debug iterator container

Возможно, какой-то способ перечислить, начиная с итератора и следующих элементов x?

+0

Для построений отладки, типы итераторов контейнеров стандартной библиотеки VS имеют указатель на родительский контейнер. Если вы выкапываете свою реализацию, вы можете * понять, как создать локальную переменную, указывающую на контейнер, а затем посмотреть ее содержимое. Тем не менее, запрос кажется мне немного странным. Если функция, которую вы отлаживаете, принимает итераторы, тогда вам нужно только заботиться о том, что в настоящее время указывает итератор, а не о следующих/предыдущих элементах. – Praetorian

+0

@ Спасибо, спасибо, посмотрите на это. Тем не менее, вы пытаетесь отлаживать функции сортировки, не имея возможности видеть порядок элементов между вызовами –

ответ

1

Как упоминалось в преторианском языке, в VS вы можете перечислить значения указателя, чтобы увидеть содержимое контейнера, итератор итератора.

Переменная часы, как:

(MyIterator)._Ptr, 5 

или

(MyIterator)._Ptr, NumElements 

перечислит первые NumElements элементы в контейнере.