代替
template <typename T>
void func(T arg) {/* something */}
Run Code Online (Sandbox Code Playgroud)
我们为什么不能这样做
template <T>
void func(T arg) {/* something */}
Run Code Online (Sandbox Code Playgroud)
来自cplusplus.com:
两个原型之间的唯一区别是使用关键字class或关键字typename.它的使用是模糊的,因为两个表达式具有完全相同的含义并且行为完全相同.
这对我来说似乎是不必要的样板.
Jus*_*dro 11
http://www.cplusplus.com/doc/tutorial/templates/请参阅模板的非类型参数部分.
您需要一些关键字来区分类型参数和非类型参数.
template <class T, int N>
class mysequence {
T memblock [N];
public:
void setmember (int x, T value);
T getmember (int x);
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
326 次 |
| 最近记录: |