Quelles sont les différences entre ces quatre mots (clés) en ligne ?
inline
, __inline
, __inline__
, __forceinline
.
Quelles sont les différences entre ces quatre mots (clés) en ligne ?
inline
, __inline
, __inline__
, __forceinline
.
inline
est le site mot-clé, en C++ et C99.
__inline
est un mot-clé spécifique au fournisseur (par ex. MSVC ) pour la fonction inline en C, puisque le C89 ne l'a pas.
__inline__
est similaire à __inline
mais provient d'un autre ensemble de compilateurs.
__forceinline
est un autre mot-clé spécifique au vendeur (principalement MSVC), qui appliquera plus de force pour mettre la fonction en ligne que l'option __inline
(par exemple, inline même si cela entraîne un code plus mauvais).
Il y a aussi __attribute__((always_inline))
dans GCC et clang.
__inline
, __inline__
et __forceinline
sont toutes spécifiques à la mise en œuvre. En raison du double soulignement, ce sont tous des identifiants réservés à l'implémentation, qui ne devraient pas entrer en conflit avec les identifiants utilisés dans les applications.
inline
est le seul mot-clé C++.
Pour le compilateur Visual Studio, cela signifie :
en ligne - suggestion au compilateur de mettre votre code en ligne
__forceinline - Remplace l'optimisation du compilateur intégré et génère du code en ligne.
Pour plus de détails, voir : http://msdn.microsoft.com/en-us/library/z8y1yy88%28VS.71%29.aspx
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.