如何声明一个指向数组的引用?
例如 一个int 数组的引用,是这样声明吗
int ia[10];
int* const& ria = ia;
问题点数:50、回复次数:7Top
1 楼lattice(格子)回复于 2002-04-23 13:11:28 得分 25
我一般这么做。
typedef int IA [10];
void f(IA&);
int a[10]={1,2,3,4,5,6,7,8,9,0};
f(a);
//但是不能这样,因为数组不能赋值
IA& c=a//实际上a只是a数组的起始地址
Top
2 楼dixzhang(新一)回复于 2002-04-23 13:17:33 得分 0
to lattic:
IA& c =a 是不可以的,因为ia 是一个 none_lvalue;
所以要声明为 IA const& c =a;
Top
3 楼prototype(原型)回复于 2002-04-23 13:19:14 得分 25
you can do it like that. but it is not exactly a reference to an array. lattice(格子) 's method is all right (btw, 'f(a)' is ok. ).
Top
4 楼eatingfish(高侃绪)回复于 2002-04-23 13:22:23 得分 0
int ia[10];
int & ria = ia;
应该可以吧,ria和ia[0]一个地址Top
5 楼dixzhang(新一)回复于 2002-04-23 13:24:46 得分 0
to prototype:
lattic 的方法是可以,但是要如何直接声明一个数组的引用的?
可以写出来吗?谢谢了:)Top
6 楼dixzhang(新一)回复于 2002-04-23 13:44:59 得分 0
我知道了,
在declaration中,[] 和()的优先级大于&,
所以必须写成
int ia[10];
int (&ria)[10] = ia;
谢谢各位Top




