C++模板

wangg0717 2011-11-15 10:37:31
模板函数
Template <typename {类型参数名称}, [int{name} = …][,…]>
模板类
Template <typename …, [int {name}=…]>

这个里面那块 int {name} 部分是什么
如何使用的,最好能举个例子

谢谢,高手指教
...全文
97 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xingfeng2510 2011-11-16
  • 打赏
  • 举报
回复
int {name}
是指模板中的非模板类型参数,比如
template <typename T, int SIZE> class VECTOR;
实例化模板:VECTOR<double, 10> dvec;
定义一个初始含有能容纳十个double类型的内存空间。
xingfeng2510 2011-11-16
  • 打赏
  • 举报
回复
template <typename {类型参数名称}, [int{name} = …][,…]>具体分析如下:
1、typename {类型参数名称}中的花括号({})中的类型形参名称不可省略,比如
template <typename Type1, typename Type2, typename...>,也就是一个模板中
至少含有一个typename xxx这样的形式。
2、[int{name} = …][,…],是指模板中的非类型形参,一般使用int、unsigned int
比如template <typename Type, int SIZE> class template_class;
"[]"表示可以省略。
对象 2011-11-16
  • 打赏
  • 举报
回复
non-type template parameter。在c++的aspect oriented programming和generic programming里很常见。

lz有兴趣可以搜一下这方面的资料,非常抽象的技术,思想层面上比OO更抽象。
pengzhixi 2011-11-15
  • 打赏
  • 举报
回复
google 非类型模板参数
healer_kx 2011-11-15
  • 打赏
  • 举报
回复
template< typename T1, int N >
class ...

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧