02.06.2013 Views

CORSO C++ STANDARD - Didattica.it

CORSO C++ STANDARD - Didattica.it

CORSO C++ STANDARD - Didattica.it

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

typeid typename union unsigned<br />

using virtual void volatile<br />

wmain while<br />

Dichiarazione obbligatoria degli identificatori<br />

In <strong>C++</strong> tutti gli identificatori di un programma devono essere dichiarati prima<br />

di essere utilizzati (non necessariamente all'inizio del programma), cioè deve<br />

essere specificato il loro tipo. Per dichiarare un identificatore bisogna scrivere<br />

un'istruzione appos<strong>it</strong>a in cui l'identificatore è preceduto dal tipo di<br />

appartenenza. Es.<br />

int Variabile_Intera;<br />

Più identificatori dello stesso tipo possono essere dichiarati nella stessa<br />

istruzione e separati l'uno dall'altro da una virgola. Es.<br />

int ore, giorni, mesi;<br />

Definizione obbligatoria degli identificatori<br />

Un'istruzione di dichiarazione si lim<strong>it</strong>a ad informare il compilatore del <strong>C++</strong> che<br />

un certo identificatore appartiene a un certo tipo, ma può non essere<br />

considerata in fase di esecuzione del programma. Quando una dichiarazione<br />

comporta anche un'operazione eseguibile, allora si dice che è anche una<br />

definizione.<br />

Per esempio, l'istruzione: extern int error_number;<br />

è soltanto una dichiarazione, in quanto (come vedremo più avanti) con lo<br />

specificatore extern informa il compilatore (o meglio il linker) che la variabile<br />

error_number è defin<strong>it</strong>a in un altro file del programma (e quindi l'istruzione<br />

serve solo ad identificare il tipo della variabile e a permetterne l'utilizzo);<br />

mentre l'istruzione: int error_number;<br />

è anche una definizione, in quanto non si lim<strong>it</strong>a ad informare il compilatore che<br />

la variabile error_number è di tipo int, ma crea la variabile stessa, allocando<br />

un'appos<strong>it</strong>a area di memoria.<br />

Per meglio comprendere la differenza fra dichiarazione e definizione, si<br />

considerino le seguenti regole:<br />

• tutte le definizioni sono anche dichiarazioni (ma non è vero il<br />

contrario);<br />

• deve esserci una ed una sola definizione per ogni identificatore che<br />

appare nel programma (o meglio, per ogni identificatore che appare in<br />

uno stesso amb<strong>it</strong>o, altrimenti si tratta di identificatori diversi, pur<br />

avendo lo stesso nome), mentre possono esserci più dichiarazioni<br />

(purchè non in contraddizione fra loro);

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!