2010-05-19 3 views
7

Ребята, завтра я проведу среднюю экспертизу, и я просматривал образец бумаги, и я не уверен в этом вопросе. Любая помощь будет оценена по достоинству.Вопрос о векторах, указателях и итераторах

Пусть v быть vector<Thingie*>, так что каждый элемент v[i] содержит указатель на Thingie. Если p является vector<Thingie*>::iterator, ответьте на следующие вопросы:

  1. какой тип p?
  2. какой тип *p?
  3. Какой код содержит адрес фактического Thingie?
  4. Какой код содержит фактические Thingie?
+0

* Какие ТРеальную штучку? Тот, на который указывает итератор или тот, который находится в 'v [i]'? –

ответ

18

какой тип p?

p имеет тип vector<Thingie*>::iterator, независимо от того, какой тип будет.

какой тип *p?

*p - Thingie*&; то есть это ссылка на элемент в векторе, на котором итератор указывает.

какой код содержит адрес фактического Thingie?

*p, так как элементы вектора являются указателями на Thingie с, а *p дает ссылку на элемент в векторе.

Какой код содержит фактические Thingie?

**p; то есть вы разыщите указатель, полученный *p, чтобы получить референт указателя.

+0

+1 для первого сообщения. :) –

4

p является vector::iterator

*p является указателем на Thingie

v[i]

*v[i]

Смежные вопросы