0Pricing
C++ Academy · Lezione

Variabili, deduzione automatica dei tipi e constexpr

Dichiari variabili, utilizzi auto per dedurre il tipo e impari quando contrassegnare i valori come constexpr.

Variabili, deduzione automatica dei tipi e constexpr è una lezione C++ Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C++ Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C++ Academy include 4 lezioni in totale.

Che cos'è una variabile?

Una variabile è una regione di memoria denominata e dotata di un tipo. Il tipo determina quanti byte occupa e come vengono interpretati i bit.

Dichiarare con tipi espliciti

La forma classica: type name = value;

int age = 30;
double pi = 3.14159;
char grade = 'A';
bool isReady = true;

La parola chiave auto

A partire da C++11, il compilatore può dedurre il tipo dall'inizializzatore. Usi auto per scrivere codice più pulito, soprattutto con iteratori o template.

auto count = 42;          // int
auto price = 9.99;        // double
auto name = std::string("Ada");  // std::string

Quando auto è utile

Usi auto quando:

  • Il tipo è lungo (iteratori, template)
  • Vuole evitare conversioni implicite
  • Il tipo deriva direttamente dall'inizializzatore

Quando evitare auto

Eviti auto quando il tipo dedotto non è ovvio per chi legge. Per i valori numerici letterali, un tipo esplicito spesso documenta meglio l'intento.

const: variabili in sola lettura

Indichi con const le variabili che non devono mai cambiare. Il compilatore lo fa rispettare.

const int MAX_USERS = 100;
const double TAX_RATE = 0.18;

constexpr: costanti a tempo di compilazione

constexpr va oltre const: il valore deve essere noto a tempo di compilazione. Il compilatore può usarlo nei contesti in cui sono richieste costanti a tempo di compilazione.

constexpr int BUFFER_SIZE = 1024;
constexpr double PI = 3.14159265358979;

Funzioni constexpr

Anche le funzioni possono essere contrassegnate con constexpr se ogni passaggio è calcolabile a tempo di compilazione. Chiamandole con argomenti costanti si ottiene un risultato calcolato a tempo di compilazione.

constexpr int square(int x) { return x * x; }

constexpr int area = square(5);  // computed at compile time

Forme di inizializzazione

C++ offre diverse sintassi di inizializzazione. Nel codice moderno, preferisca l'inizializzazione con parentesi graffe: rifiuta le conversioni narrowing.

int a = 10;        // copy init
int b(10);         // direct init
int c{10};         // brace init (preferred)
int d = {10};      // copy-list init

Narrowing e inizializzazione con graffe

L'inizializzazione con parentesi graffe protegge dalle troncature accidentali. L'esempio seguente non viene compilato.

double d = 3.7;
int a = d;     // OK, silently truncates to 3
int b{d};      // ERROR: narrowing conversion

Ambito delle variabili

Una variabile esiste dalla sua dichiarazione fino alla fine del blocco che la contiene (una coppia di { }). Dichiari le variabili nell'ambito più ristretto possibile: ne limita la durata e riduce i bug.

Verifica rapida

Quale dichiarazione crea un valore che il compilatore può usare come costante a tempo di compilazione?

Riepilogo

Dichiari le variabili con un tipo esplicito o con auto per dedurlo. Usi const per i valori in sola lettura e constexpr per le costanti a tempo di compilazione. Preferisca l'inizializzazione con parentesi graffe per individuare le conversioni narrowing.

Domande Frequenti

La lezione «Variabili, deduzione automatica dei tipi e constexpr» è gratuita?

Sì — il testo completo di «Variabili, deduzione automatica dei tipi e constexpr» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C++ Academy, passa a CoddyKit PRO. Il corso C++ Academy include 4 lezioni in totale.

Cosa imparerò in «Variabili, deduzione automatica dei tipi e constexpr»?

Dichiari variabili, utilizzi auto per dedurre il tipo e impari quando contrassegnare i valori come constexpr. Eserciti C++ Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C++ Academy?

Non è richiesta alcuna esperienza precedente. C++ Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Variabili, deduzione automatica dei tipi e constexpr»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C++ Academy?

Sì. Ogni lezione C++ Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Configurazione di un compilatore C++
  2. Hello World e processo di build
  3. Variabili, deduzione automatica dei tipi e constexpr
  4. Operatori di base e conversione dei tipi
← Torna a C++ Academy