Adición de tipos de puntero
Si uno de los operandos de una operación de suma es un puntero a una matriz de objetos, el otro debe ser de tipo entero.El resultado es un puntero con el mismo tipo que el puntero original y apuntando a otro elemento de matriz.El siguiente fragmento de código se muestra este concepto:
short IntArray[10]; // Objects of type short occupy 2 bytes
short *pIntArray = IntArray;
for( int i = 0; i < 10; ++i )
{
*pIntArray = i;
cout << *pIntArray << "\n";
pIntArray = pIntArray + 1;
}
Aunque el valor entero 1 se agrega a pIntArray, no significa “agregue 1 dirección”; significa en lugar de “ajuste el puntero para notificar al siguiente objeto en la matriz” que es 2 bytes (o sizeof( int )) aún.
[!NOTA]
El código del formulario pIntArray = pIntArray + 1 se encuentra raramente en programas de C++; para realizar un incremento, estos formularios son preferibles: pIntArray++ o pIntArray += 1.