Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [c++]dubbi const

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [c++]dubbi const

    ciao.
    Ho un po di confusione sulla parola chiave const in c++.
    Ho letto su thinking c++ che il trucco per capire il senso del const stà nel partire a leggere dall' identificatore.
    è giusto?
    che differenza c'è tra const int * i e a int const* i ad esempio?
    e gli altri casi?
    grazie.

  2. #2
    Devi leggere da destra a sinistra:
    const int * = puntatore (*) ad un intero (int) costante (const); ossia, l'intero puntato è costante e non puoi quindi modificarlo tramite il puntatore; puoi tuttavia modificare il puntatore. Roba di questo genere è usatissima come parametro di funzione.
    codice:
    int a=10, b=20;
    const int * p=&a;
    p=&b; // ok
    *p=15; // errore di compilazione
    int const * = puntatore (*) costante (const) ad un intero (int); ossia, puoi modificare il valore puntato, ma non puoi modificare il puntatore (a meno di doppi puntatori, non vedo grande utilità per una variabile di questo genere )
    codice:
    int a=10, b=20;
    int const * p=&a;
    p=&b; // errore di compilazione
    *p=15; // ok
    dulcis in fundo:
    const int const * = puntatore (*) costante (const) ad un intero (int) costante (const); ossia, non puoi modificare né il valore puntato né il puntatore. Mai visto usato per davvero.
    codice:
    int a=10, b=20;
    const int const * p=&a;
    p=&b; // errore di compilazione
    *p=15; // errore di compilazione
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.