C++数组的引用作参数时,此参数是个指针还是数组本身。如:
void test ( int (&arr)[4] ) // 该函数的参数是一个整型数组的引用,数组有4个元素
{
sizeof(arr); // vs2010调试显示sizeof是4(32位是4,64位是8,貌似当作指针了)
int nSize = sizeof(arr); // 但实际输出显示的是16,是数组本身大小
cout << nSize << endl;
}
void main()
{
int arr[4];
test( arr );
}
问题是:数组的引用作参数,是否被当作数组本身使用,输出的大小是16,为什么调试时看是4,test函数中的arr大小到底应该是多少。