Include guard: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 62:
 
Di buona norma le #include guard devono essere inserite in tutti i file <tt>.h</tt> in modo da assicurare una maggiore trasparenza al programmatore evitando di incorrere in questo tipo di errore.
 
==#pragma once==
 
La seguente è un'alternativa equivalente agli include guard ma più breve e più semplice e a volte incrementa la velocità di compilazione.
Line 73 ⟶ 75:
</source>
 
Indica che il file deve essere incluso una sola volta nella compilazione.

===Portabilità===

Nonostante questa direttiva non sia definita negli standard del C/C++, è definita in quasi tutti i compilatori.
 
{| class="wikitable sortable"
|-
! Compiler
! #pragma once
 
|-
| [[Clang]] || Supportato
|-
| [[Comeau C/C++]] || Supportato
|-
| [[C++Builder XE3]] || Supportato
|-
| [[Digital Mars C++]] || Supportato
|-
| [[GNU Compiler Collection|GCC]] || Supportato
|-
| [[HP aC++|HP C/aC++]] || Supportato
|-
| [[IBM XL C++|IBM XL C/C++]] || Supportato
|-
| [[Intel C++ Compiler]] || Supportato
|-
| [[Microsoft Visual C++]] || Supportato
|-
| [[Pelles C]] || Supportato
|-
| [[ARM DS-5]] || Supportato
|-
| [[IAR C/C++]] || Supportato
|-
| [[Oracle Solaris Studio|Solaris Studio C/C++]] || Non supportato
|}
 
{{C++}}
{{portale|informatica}}