求高人指点,我也不知道这叫模板什么,进来看看吧

mabo321 2010-04-01 04:11:46

template <typename T, size_t N>
char (&ArraySizeHelper(T (&array)[N]))[N];

#define arraysize(array) (sizeof(ArraySizeHelper(array)))


WCHAR c_array[50];
INT num = arraysize(c_array);


神奇的玩意。
我只知道 简单的函数模板和类模板。求解

谢谢
...全文
112 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zht_304 2010-04-01
  • 打赏
  • 举报
回复
一个函数模板的声明。 #3 楼已回答
mabo321 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 operatingtuzi 的回复:]
template <typename T, size_t N>
char (&ArraySizeHelper(T (&array)[N]))[N];

模板函数的格式
ArraySizeHelper是一个函数
返回值是char& 的数组 含有N个元素
函数参数是T (&array)[N] 一个含有N个T类型元素的数组的引用
[/Quote]

多谢。明白了。
mabo321 2010-04-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 selooloo 的回复:]
bt啊,直接sizeof不就完了,还绕个弯子
[/Quote]

不是的,后面两句我加的。只不过是说明如何用它而已。
operatingtuzi 2010-04-01
  • 打赏
  • 举报
回复
template <typename T, size_t N>
char (&ArraySizeHelper(T (&array)[N]))[N];

模板函数的格式
ArraySizeHelper是一个函数
返回值是char& 的数组 含有N个元素
函数参数是T (&array)[N] 一个含有N个T类型元素的数组的引用
selooloo 2010-04-01
  • 打赏
  • 举报
回复
bt啊,直接sizeof不就完了,还绕个弯子
mabo321 2010-04-01
  • 打赏
  • 举报
回复
莫非叫 数组 模板?

64,671

社区成员

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

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