template<typename T> void mySwap(T &a, T &b) { T c; c = a; a = b; b = c; } int main() { char a = 'a'; char b = 'b'; mySwap<char>(a, b); printf("a=%c, b=%c", a, b); return 0; }
1、通过两次编译
2、编译器通过调用的具体类型,自动创建同等的函数