理解“
在 C 中,模板允许程序员创建操作各种类型的通用代码。定义模板时,可能会遇到两个关键字:“
基本上下文中的可互换性
在大多数情况下,“
template <typename T> class Foo {...}
相当于:
template <class T> class Foo {...}
两个声明都定义了一个对任何类型“T”进行操作的泛型类“Foo”。
需要区分的具体情况
但是,在某些情况下“”和“”确实不同:
template <typename param_t> class Foo { typedef typename param_t::baz sub_t; }
template <template <typename, typename> class Container, typename Type> class Example {...}
其中“Container”是带有两个类型参数的模板。
template class Foo<int>;
始终使用“class”关键字而不是“typename”。
总之,而“
以上是何时在 C 模板中使用 `` vs. ``?的详细内容。更多信息请关注PHP中文网其他相关文章!