Namensräume
Varianten

Template specialization

Aus cppreference.com
< cpp‎ | language


[Bearbeiten]Beispiel

#include <iostream>   template<class T>struct C {void print(){std::cout<<"I am generic\n";}};   // Specialization for T=inttemplate<>struct C<int>{void print(){std::cout<<"I am specialized for int\n";}};   template<class T>void func();   // Specialization for T=doubletemplate<>void func<double>(){std::cout<<"I am func<double>\n";}   int main(){ C<double> c1; C<int> c2;   c1.print(); c2.print();   func<double>();// func<int>(); // Compile time error// No definition for T=int}// main

Output:

I am generic I am specialized for int I am func<double>

[Bearbeiten]Siehe auch


(Konzept)

(Konzept)
close