Mi è stato vedere il codice come questo di solito l'inizio del file di intestazione:Perché #ifndef e #define sono usati nei file di intestazione C++?
#ifndef HEADERFILE_H
#define HEADERFILE_H
E alla fine del file è
#endif
Qual è lo scopo di tutto questo?
+1 - Anch'io ho avuto lo stesso dubbio, e ho ottenuto molte più buone risposte qui, può essere utile per i futuri visitatori: http://stackoverflow.com/q/3246803/1134940 –
Voglio aggiungere a questo che è possibile usa anche ** # pragma una volta **, questo è tutto ciò che devi fare e ha lo stesso scopo di ifdef. Per un confronto tra i due, vedere: http://stackoverflow.com/questions/1143936/pragma-once-vs-include-guards – Dimension
Meglio menzionare cosa sia un '# pragma': attiva una caratteristica specifica del compilatore. Sebbene '#pragma once' è * molto * ampiamente supportato, non è standard. – Potatoswatter