2011-11-08 4 views
-1

Possible en double:
Why can templates only be implemented in the header file?
Why should the implementation and the declaration of a template class be in the same header file?Définition du modèle?

J'ai deux questions fondamentales au sujet des modèles de fonction en C++.

  1. Est-il nécessaire de définir un modèle dans un fichier .h?
  2. J'ai créé une DLL et exporté une classe C++ entière dans cette DLL. Et cette classe contient un modèle de fonction. J'appelle ce modèle à l'intérieur d'un autre module qui lode cette DLL. Donc, quand ce fichier objet associé au modèle sera créé.

Répondre

2
  1. Presque toujours. Des tonnes de dups de cette partie de la question.
  2. L'application qui charge la DLL doit déjà avoir inséré le modèle (voir n ° 1), donc le chargement à l'exécution n'est pas pertinent. Notez également que C++ ABI est assez compliqué et que mettre une API C++ publique dans une DLL demande toutes sortes de casse ABI subtile.
Questions connexes