胡说八道

学而不思则罔,思而不学则殆

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::
    我们知道函数参数推断的时候,有可能会产生Array-To-Point这样的转化(见"C++函数重载时候的匹配等级"的第二条).例如:

 void foo(const int*);

 int hu[10];
 foo(hu);//ok,这里就是Array-To-Point的转换

 但是当我们的函数的参数是引用的时候,这样的转化被抑制了

 void foo(const int*&);

 int hu[10];
 int *p=new int;
 foo(p);//ok
 foo(hu);//error,这里不能将int [10]转换为const int *&

     所以数组名就是指向第一个元素的相应类型的指针,这句话要看情况,这个例子说明他们还是存在差别的.

posted on 2004-12-29 11:33  胡说八道  阅读(387)  评论(0)    收藏  举报