J'ai lu qu'il y a une certaine optimisation du compilateur lors de l'utilisation de #pragma once
ce qui peut permettre une compilation plus rapide. Je reconnais que ce n'est pas standard, et que cela pourrait donc poser un problème de compatibilité entre plates-formes.
Est-ce quelque chose qui est supporté par la plupart des compilateurs modernes sur les plateformes non-Windows (gcc) ?
Je veux éviter les problèmes de compilation des plates-formes, mais je veux aussi éviter le travail supplémentaire des gardes de repli :
#pragma once
#ifndef HEADER_H
#define HEADER_H
...
#endif // HEADER_H
Dois-je m'inquiéter ? Devrais-je dépenser davantage d'énergie mentale à ce sujet ?
3 votes
Après avoir demandé à un question similaire j'ai découvert que
#pragma once
semble éviter certains problèmes d'affichage des classes dans VS 2008. Je suis en train de me débarrasser des gardes d'inclusion et de les remplacer tous par des#pragma once
pour cette raison.