Spiegazione significato ifndef

cooper1
ciao a tutti. :) non mi è chiaro a cosa servano i comandi
#ifndef _PROVA_H_
#define _PROVA_H_

#endif.
cosa fanno di preciso? perchè è conveniente usarli?
qualcuno saprebbe aiutarmi? grazie in anticipo a tutti.

Risposte
Raptorista1

cooper1
Grazie :-)

vict85
Comunque il 90% dei compilatori accetta
#pragma once
che evita l'uso delle include guard.

Raptorista1
@vict: [-X
:-P

kobeilprofeta
?

cooper1
grazie ancora :D
"vict85":
Comunque il 90% dei compilatori accetta
#pragma once
che evita l'uso delle include guard.

buono a sapersi! forse non posso ancora usarlo però (leggendo su wiki dal C++ non è accettata). Lo terrò comunque presente per il futuro :smt023

vict85
Non è che non è accettata, è che non è standard; C o C++ non fa differenza. #pragma richiama direttive specifiche del compilatore e in quanto tale un compilatore potrebbe non avere il comando once ed essere tranquillamente rispettoso dello standard. In realtà alle volte ho visto usarli entrambi perché #pragma once permette alle volte una maggiore velocità di compilazione (cosa che è importante solo se hai progetti grandi).
Di fatto però i maggiori compilatori lo supportano tutti. Quindi è comune che venga usati in progetti proprietari, un po' meno nel mondo opensource e in librerie che vogliono la maggiore compatibilità possibile (ma è possibile che in questi casi vengano usati entrambi).

cooper1
ok dovrei esserci! proverò ad utilizzarlo allora e vedere se il mio compilatore lo supporta.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.