首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

有没有办法可以解决数组传递过程中,数组大小丢失的有关问题

2012-04-02 
有没有办法可以解决数组传递过程中,数组大小丢失的问题?RT,只用一个参数,即传递数组,又包含大小信息,能吗?

有没有办法可以解决数组传递过程中,数组大小丢失的问题?
RT,只用一个参数,即传递数组,又包含大小信息,能吗? 不使用结构体!

[解决办法]
楼主想到了函数模板,但是还差一步就想到了点子上了
用类型参数+非类型参数即可,如:

C/C++ code
template <typename T, size_t N>void arraynum(T (&arr)[N]){    cout << "arrarynum is " << N << endl;}// 当模板展开时,N就自动被编译器传入啦,楼主自己去试试
[解决办法]
探讨

555555,你们欺负我,都不去试试我的方法。
首先我的
template <typename T>
void arraynum(const T &amp; t)
{
cout<<"arrarynum is "<<sizeof(t)/sizeof(t[0])<<endl;
}
是绝对没问题的,seucs的方法也行,原理都是一样,seucs的方便之处在于可以不用计算大小,直接使用变量……

热点排行