Quand j'écris une simple (non du modèle) de la classe, si l'implémentation de la fonction est fourni "droit de place", il est automatiquement considéré comme inline
.
class A {
void InlinedFunction() { int a = 0; }
// ^^^^ the same as 'inline void InlinedFunction'
}
Quoi dire de cette règle lorsque l'on parle de modèle à base de classes?
template <typename T> class B {
void DontKnowFunction() { T a = 0; }
// Will this function be treated as inline when the compiler
// instantiates the template?
};
Aussi, quel est le inline
de la règle de la non-modèle imbriqué fonctions, comme
template <typename T> void B::DontKnowFunction() { T a = 0; }
template <typename T> inline void B::DontKnowFunction() { T a = 0; }
Qu'arriverait-il dans le premier et dans le second cas ici?
Je vous remercie.