[问题]c++如何自动生成变量明以及函数里的sizeof

C、C++和Java语言
回复
头像
yjcong
帖子: 2470
注册时间: 2006-02-28 3:11
送出感谢: 0
接收感谢: 0

[问题]c++如何自动生成变量明以及函数里的sizeof

#1

帖子 yjcong » 2007-09-05 6:18

1.
开始输入个array, 比如double arr[n], (n是可变的)
然后用 int s=sizeof(arr)/sizeof(arr[0]); 可以知道array里有多少元素。
接着,如何自动生成下面的东西:
double a0b=arr[0], a1b=arr[1], a2b=arr[2] ..... anb=arr[n].

2.
上面的函数sizeof()可以得到array的元素。 多维的array, 也能用sizeof().
但是, 如果在自定义的函数原型里用sizeof()算函数以外的array就会出现问题。
比如:
int arraysize(double arr[])
{
int s=sizeof(arr)/sizeof(double);
return s;
}
因为arr[]是以指针传递到函数原型里的, 用sizeof()的时候, 不能得到正确的结果。
虽然可以用vector来解决, 但是太麻烦。
谁知道有什么好的 简单的方法, 请指点一二。

还有, 如果用vector, 能不能应用到多维的 情况, arr[9][5][8]。

3.
中断程序可以用exit(), 但是括号里的数字有什么特殊的 含义吗? 反正exit(-1), exit(0), exit(1) 都能中断。
头像
titainium
帖子: 689
注册时间: 2006-12-02 12:25
送出感谢: 0
接收感谢: 0

#2

帖子 titainium » 2007-09-13 22:14

回答问题三,return 0,return -1,有什么区别,这里就有什么区别。
Titainium
xpycc
帖子: 14
注册时间: 2007-10-03 22:25
送出感谢: 0
接收感谢: 0

#3

帖子 xpycc » 2007-10-04 14:34

问题2,暂时可以用template解决。。。

代码: 全选

template<int N> inline int fun(double (&a)[N]){
   return N;
}
yuylyp
帖子: 5
注册时间: 2006-12-07 14:15
送出感谢: 0
接收感谢: 0

Re: [问题]c++如何自动生成变量明以及函数里的sizeof

#4

帖子 yuylyp » 2007-10-04 21:03

刚喝完酒,看错了,我再看一下。。。
回复

回到 “C/C++/Java”