2012-11-23 6 views

risposta

2

Diventa un po 'più facile se si raggruppano le cose nel modo giusto. Ad esempio, *const è in realtà una sola unità che significa "puntatore const a" (puoi leggere lo const come pedice qui: *const). Lo scrivere come:

const int *const *const p1; // p1 is a const pointer to const pointer to const int 
const int **p2; // p2 is a pointer to pointer to const int 

Ricordare inoltre che le dichiarazioni leggere "inside out", a partire dall'identificatore che viene dichiarato.

8

Come posso leggere questi costrutti?

Leggere indietro e leggere il * come "puntatore a".

const int* const* const 

è un puntatore costante a un puntatore costante a una costante intera.

const int** 

è un puntatore a un puntatore a una costante intera.

2

C'è uno strumento che è utile/divertente da decifrare dichiarazioni: http://cdecl.ridiculousfish.com/

Nel tuo caso si riferisce: const int* const* const x => dichiarare x come puntatore const a const puntatore a const int const int** x => dichiarare x come puntatore puntare a const int

Problemi correlati