Spiegazione significato ifndef
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.

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

Comunque il 90% dei compilatori accetta
#pragma onceche evita l'uso delle include guard.
@vict:


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

"vict85":
Comunque il 90% dei compilatori accetta#pragma onceche 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

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).
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).
ok dovrei esserci! proverò ad utilizzarlo allora e vedere se il mio compilatore lo supporta.