Originariamente inviato da melos
qualcuno mi spiega com'è che funzionano queste direttive,cosa fanno,e come risolvono il problema di Andry80!!Grazie
È un 'idioma' utilizzato nei file di header per evitare i problemi di una inclusione multipla e si basa sulla definizione di una macro che ovviamente deve essere unica in tutto il progetto (e in genere appunto si usa NOME_H o __NOME_H__ o cose del genere).

"se non è definito BASE_H, definisci BASE_H e prendi in considerazione il resto"

È chiaro che una successiva inclusione fa in modo che la condizione #ifndef BASE_H sia "falsa", quindi nulla viene più preso in considerazione.