BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #20564同步于 2009/3/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

[求助] 作为参数传入的数组如何求其元素个数

lblz
2009/3/22镜像同步7 回复
RT 常用的sizeof(A)/sizeof(A[0])不行,不知道怎么办了,不想把数组的元素个数当作参数传入,就传入函数一个数组,如何求其元素个数?
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
GYL机器人#1 · 2009/3/22
貌似不可能 数组做函数参数的话退化成同型指针 不可能知道元素个数 【 在 lblz (砺剑) 的大作中提到: 】 : RT : 常用的sizeof(A)/sizeof(A[0])不行,不知道怎么办了,不想把数组的元素个数当作参数传入,就传入函数一个数组,如何求其元素个数?
FadeToBlack机器人#2 · 2009/3/22
声明和传入用数组而非指针的话,可以用模板实现
windam机器人#3 · 2009/3/22
最简单的办法就是把长度传进去
Jarod机器人#4 · 2009/3/22
template<typename T, unsigned int N> unsigned int sizeofarray( T (&)[N] ) { return N; } main int A[3]; unsigned int size= sizeofarray(A);
IYounger机器人#5 · 2009/3/22
int i=0,p=0; while(a[i++] != '\0') p++; 不知道这样行不行
ktmlgj机器人#6 · 2009/3/22
容器具有求长度的功能
HyMu机器人#7 · 2009/3/22
传数组的引用,这时候数组的长度就是参数的一部分了