2010-05-19 13 views
7

Chicos, tengo un examen de mitad de período mañana, y estaba revisando el documento de muestra, y no estoy seguro acerca de esta pregunta. Cualquier ayuda sería apreciada.Una pregunta sobre vectores, punteros e iteradores

Let v ser un vector<Thingie*>, de manera que cada elemento v[i] contiene un puntero a una Thingie. Si p es una vector<Thingie*>::iterator, responda a las siguientes preguntas:

  1. qué tipo es p?
  2. qué tipo es *p?
  3. ¿qué código proporciona la dirección del Thingie real?
  4. ¿qué código proporciona el Thingie real?
+0

* * ¿Qué thingie real? ¿El señalado por el iterador o el ubicado en 'v [i]'? –

Respuesta

18

qué tipo es p?

p es del tipo vector<Thingie*>::iterator, sea del tipo que sea.

que tipo es *p?

*p es un Thingie*&; es decir, es una referencia al elemento en el vector al que apunta el iterador.

¿qué código proporciona la dirección del Thingie real?

*p, ya que los elementos del vector son punteros a los Thingie s, y *p da una referencia al elemento en el vector.

¿qué código proporciona el Thingie real?

**p; es decir, usted desreferencia el puntero obtenido por *p para obtener el referente del puntero.

+0

+1 para la primera publicación. :) –

4

p es vector::iterator

*p es un puntero a una Thingie

v[i]

*v[i]