函数的形参,什么时候该用指针?什么时候该用引用?

你要的是什么样的阳光 2009-04-26 07:24:23
函数的形参,分别应该在什么时候使用指针、引用?
这两者各有什么优点以及缺点啊?
(在做习题时遇上的,但自己不知道应该怎么回答,感觉自己没办法说清楚~~)
...全文
1335 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我也觉得2楼说的是,习题是无聊。可是上来问一下还是可以学到不少:
1楼 和 3楼 说的都是我不太了解的,呵呵~
8楼的很详细,谢谢你们了!!
liliangbao 2009-04-26
  • 打赏
  • 举报
回复
1.当需要修改调用函数中的数据对象。
2.传递引用而不是整个数据对象,可以提高效率。

引用和指针的区别:
相同点
都是地址的概念,指针指向一块内存,内容就是指向内存的地址,而引用就是一块内存的地址。
不同点
1.引用仅是一个别名(不需要分配内存),而指针是一个实体(需要分配内存)。
2.引用定义时必须初始化,且以后不可以改变,而指针不需要。
3.引用不可以为空(NULL),而指针可以为空。
4.引用不可是const类型的,而指针可以是,且const类型的指针和引用更相似。
5.引用无需解引用(*),而指针需要。
6.sizeof(引用)的值是所指向变量的大小,而sizeof(指针)的值是指针的大小(32位)是4。
7.引用和指针的自增(++)和自减(--)的含义不同。
deltamaster 2009-04-26
  • 打赏
  • 举报
回复
如果这本书上是这样提问,也挺搞笑的了。
关于值传递还是引用传递的问题,在不同场合有很复杂的说法。
mengde007 2009-04-26
  • 打赏
  • 举报
回复
引用就是别名;直接操作,效率比较高;
firecityplans 2009-04-26
  • 打赏
  • 举报
回复
使用引用的理由有二:
1。希望能直接对所传入的对象进行修改;2。降低复制大型对象的负担。
其实使用引用和指针没什么差别,传递的都是对象地址。唯一的差别是使用的方法不同。
二者之间的差异是:
指针可能(也可能不)指向某个实际对象。使用指针时要先确定其值为非0。而引用不需要的。
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Loaden 的回复:]
能用引用,还是别用指针。
一般地:对象用引用,内置类型用指针。
[/Quote]
可以说说具体一点吗?指针不是也可以指向对象么?谢谢了!!
like_33833006 2009-04-26
  • 打赏
  • 举报
回复
引用在内存中不用再申请新拷贝空间,直接调用。可以说是省空间又省时间。
指针的话就是省空间但不省时间,形参与实参之间还有一个赋值过程。
  • 打赏
  • 举报
回复
[Quote=引用楼主 raining_0104 的帖子:]
函数的形参,分别应该在什么时候使用指针、引用?
这两者各有什么优点以及缺点啊?
(在做习题时遇上的,但自己不知道应该怎么回答,感觉自己没办法说清楚~~)
[/Quote]
那个习题真无聊。这个东西你不需要形参接受副本就引用啊。
传数据的指针也可以,这也可以归纳出东西出来。无语。
「已注销」 2009-04-26
  • 打赏
  • 举报
回复
能用引用,还是别用指针。
一般地:对象用引用,内置类型用指针。

65,187

社区成员

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

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