Je tiens également à ajouter que si vous effectuez des millions de obtient ou définit par le cadre, c'est à peu près hors de propos, si elles sont intégrées ou non. C'est franchement pas la peine de perdre le sommeil plus de.
Aussi, gardez à l'esprit que juste parce que vous mettez le mot 'inline' en face de votre déclaration de+définition, ne signifie pas que le compilateur inline votre code. Il utilise différentes heuristiques pour déterminer si elle fait sens, ce qui est souvent le classique échange de la vitesse et de la taille. Cependant, il est la force brute '__forceinline mot-clé, à la location dans VC++ (je ne suis pas sûr de ce qu'il est en CCG), qui piétine sur les compilateurs de fantaisie heuristiques. Je ne recommande pas du tout, et en plus une fois que vous port pour une architecture différente, ça risque d'être incorrecte.
Essayez de mettre toutes les définitions de fonctions dans le fichier d'implémentation, et de laisser la pure déclarations pour les en-têtes (sauf si bien sûr vous êtes modèle de la métaprogrammation (STL/BOOST/etc), dans ce cas, à peu près tout est dans les en-têtes ;))
L'un des lieux classiques de gens aiment à en ligne (au moins dans les jeux vidéo, qui est d'où je suis originaire), en mathématiques, en-têtes. La croix-point des produits, les longueurs de vecteur, d'une matrice de compensation, etc sont souvent placées dans l'en-tête, qui je pense n'est pas nécessaire. 9/10 il ne fait aucune différence de performance, et si jamais vous avez besoin de faire une boucle serrée, tels que la transformation d'un grand vecteur matrice par la matrice, vous êtes probablement mieux manuellement de faire le calcul à la volée, ou encore mieux de codage dans la plate-forme de l'assembleur.
Oh, et un autre point, si vous vous sentez vraiment besoin d'une classe pour être plus de données que le code, pensez à utiliser la bonne vieille structure, qui n'apporte pas la OO bagages de l'abstraction avec elle, c'est tout ce qui existe. :)
Désolé, je ne voulais pas aller sur beaucoup de choses, mais je pense juste qu'il aide à considérer monde réel de cas d'utilisation, et ne pas avoir trop accroché sur pédant paramètres du compilateur (faites-moi confiance, je suis là ;))
Bonne chance.
Shane