#1.模板类的模板成员函数
template <typename type1>
class C {
public:
template <typename type2>
void f();
}
如果需要在类外定义函数f时,要这样写:
template<typename type1, typename type2>
void C<type1>::f() {...}
而不能写成
template<typename type1>
template<typename type2>
void C<type1>::f() {...}
#2.宏定义中的“#”,“##”,“#@”用法
“#”用于将宏参数转化为字符串,即在宏参数的两边加上双引号。例如:
#define STR(x) #x
int abc = 1;
cout << STR(abc) << endl