Come è stato già sottolineato il puntatore const forse più comune è
const char* p;
La variabile p può cambiare, ma i punti dati p To è unmodifable .
Tuttavia, spostare la parola chiave const a sinistra l'asterisco non altera il significato della dichiarazione:
char const* p;
preferisco il più tardi in quanto diventa molto più facile da ricordare dove posizionare le parole chiave const quando dichiarando puntatori const ai puntatori const:
char const* const* p;
nuovo, la variabile p può cambiare ei dati indicato è immodificabile. Inoltre, i dati sono dichiarati come puntatori const che significa che punta a dati che non possono essere modificati.
La notazione più comuni per questo tipo è
const char* const* p;
Posizionando la parola chiave const immediatamente a sinistra dell'asterisco essa modifica (o commerciale per riferimento) rende facile creare tipi complessi che coinvolgono la parola chiave const. Ad esempio, un puntatore a puntatori const:
char const** p;
e un puntatore const ai puntatori:
char* const* p;
Ricordatevi di "leggere" le dichiarazioni di puntatore da destra a sinistra, e non si dichiarano più di un puntatore in ogni affermazione per evitare un sacco di confusione.
fonte
2009-07-10 17:33:34
Questo post è confuso e non distingue chiaramente tra quando il valore è const e quando il puntatore è const. –
Ci vuole molto di più che leggere un post per capire chiaramente l'idea comunque. –
Non puoi imparare le leggi sul traffico solo guidando. Non imparerai come programmare senza programmare, e non imparerai cosa è legale e affidabile senza leggere libri. –