mamiemando
Messages postés33330Date d'inscriptionjeudi 12 mai 2005StatutModérateurDernière intervention29 octobre 2024
-
Modifié le 30 mai 2022 à 03:19
est utilisé en C++ et s'applique à une fonction ou une méthode. Il indique au compilateur que chaque appel à la fonction inline doit être remplacé par le corps de cette fonction. Ceci accélère le programme mais génère un binaire (exécutable ou librarie) plus gros. C'est pourquoi on réserve le mot clé
inline
de préférence aux fonctions / méthodes "courtes".
On l'utilise typiquement pour les accesseurs (getters, setters), car le code de ces méthodes est généralement très court.
Le mot clé
inline
ne s'utilise qu'à la déclaration. L'appel d'une fonction reste le même que la fonction soit
Pour rappel, une fonction / méthode "classique" (non
inline
et non
template
) ne devrait jamais être implémentée dans un header, car si ce header est inclus à plusieurs endroits, le compilateur retournera une erreur de définition multiple au moment du linkage.
Le mot-clé
inline
permet de déclarer et d'implémenter des fonctions directement dans un header (.hpp) sans risque de multi-définition au moment du linkage. En effet, les appels aux fonctions / méthodes inline ont tous été remplacés par leur corps avant la compilation proprement dite.
Une fonction / méthode
template
est toujours déclarée dans un header. Elle peut de surcroît être