数组作函数的参数是不是类似引用

易水风寒 2011-09-06 11:18:55
数组作函数的参数是不是和变量的引用类似,还是就是引用
...全文
57 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanae 2011-09-07
  • 打赏
  • 举报
回复
如果是

int func(int a[])
{

}

那么a会自动退化成int *

但如果是
如果是

template <unsigned int N>
int func(int (&a)[N])
{

}


那就不会退化,内部怎么实现先不谈,这个是数组的引用。

pathuang68 2011-09-06
  • 打赏
  • 举报
回复
数组作为参数传入,在函数中会弱化为指针。
半兽人写程序 2011-09-06
  • 打赏
  • 举报
回复
数组就是数组。int [] a = {1,2}; a就是数组。不是什么狗屁书说的是指针啥的。
只是说他的首地址 &a[0] 可以当指针玩而已。不过一旦数组地址被你转成指针,
意味着,你将不能得到它的长度了。
day_learn 2011-09-06
  • 打赏
  • 举报
回复
数组做参数 传递的是实参数组首元素的 地址
ithzhang 2011-09-06
  • 打赏
  • 举报
回复
数组是传入地首地址,因此可以修改数组元素!引用内部好像也是用指针实现的!但两者好像没可比性吧!
jackyjkchen 2011-09-06
  • 打赏
  • 举报
回复
传数组就是传地址,指针和引用抽象的概念上是不同的,但是你可以认为他们使用了类似的实现

简单地说谁就是谁不准确

64,676

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧