lang:cpp:template
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
lang:cpp:template [2024/02/20 15:52] – [Séparer le code source des fonctions et leur définition dans une classe template] : ajout de "spécialisation de template" root | lang:cpp:template [2025/02/05 10:07] (Version actuelle) – [const Args...] : fix typo root | ||
---|---|---|---|
Ligne 29: | Ligne 29: | ||
<code cpp> | <code cpp> | ||
- | typename< | + | template< |
void f(const Args&& | void f(const Args&& | ||
Ligne 328: | Ligne 328: | ||
void T< | void T< | ||
+ | // On instancie uniquement T< | ||
template class T< | template class T< | ||
</ | </ | ||
Ligne 337: | Ligne 338: | ||
<file cpp main.cc> | <file cpp main.cc> | ||
#include " | #include " | ||
- | |||
- | extern template class T< | ||
int main() | int main() | ||
{ | { | ||
T< | T< | ||
- | return tint.retval(); | + | return tint.fff(); |
} | } | ||
</ | </ | ||
Ligne 357: | Ligne 356: | ||
<file cpp file.cpp> | <file cpp file.cpp> | ||
- | template< | + | template< |
- | template void A:: | + | // Instanciation pour U=int |
- | </ | + | template void A:: |
- | ou, dans le cas d'une spécialisation de template : | + | // Spécialisation pour U=double |
- | + | template<> | |
- | <file cpp file.cpp> | + | |
- | template<> | + | |
- | template<> | + | |
</ | </ | ||
Ligne 384: | Ligne 380: | ||
template void A< | template void A< | ||
</ | </ | ||
+ | |||
+ | * Messages d' | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | Il ne faut pas utiliser une classe spécialisée avant qu' | ||
+ | |||
+ | <code cpp> | ||
+ | template < | ||
+ | class A {}; | ||
+ | |||
+ | // Doit être défini après la spécialisation. | ||
+ | A< | ||
+ | |||
+ | template <> | ||
+ | class A< | ||
+ | </ | ||
====Afficher en string le type template==== | ====Afficher en string le type template==== | ||
<code cpp> | <code cpp> |
lang/cpp/template.1708440733.txt.gz · Dernière modification : 2024/02/20 15:52 de root