社区
C语言
帖子详情
关于函数的返回类型
winapp
2003-06-10 12:13:35
返回应用和返回地址有什么区别吗?
一般该返回什么好些?
...全文
63
15
打赏
收藏
关于函数的返回类型
返回应用和返回地址有什么区别吗? 一般该返回什么好些?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
winapp
2003-06-13
打赏
举报
回复
多谢!
bluedodo
2003-06-12
打赏
举报
回复
如果你想告诉函数调用者,你的返回值不想让他再胡乱绑定,就使用一个引用,--因为它只能绑定一次。
如果你想给函数调用者调整指针位置的能力,你就用返回地址。
everestsun
2003-06-12
打赏
举报
回复
返回引用是返回地址的一种,还有用指针。返回值时由于变量的作用域的限制而不能不会修改
调用函数的值,强烈建议使用返回地址!!!!!
thrillers
2003-06-12
打赏
举报
回复
还是返回引用把,这样可以少临时变量的产生
WhatCanIdoing
2003-06-10
打赏
举报
回复
建议看 Effective C++
waterflier
2003-06-10
打赏
举报
回复
返回地址好
hiys
2003-06-10
打赏
举报
回复
你问的是返回引用和返回地址的区别吧?
能把问题问的再具体一点吗?
winapp
2003-06-10
打赏
举报
回复
zhukeke(zhukeke) 让我搞懂了 。
另外,关于返回引用还是对象我认为:
不能限制死一元还是二元运算符就该怎么做。
对函数里的局部对象返回当然要返回其对象本身,其它情况的话就效率考虑还是返回引用的好。当然如果你强调你可以用NEW或者STATIC搞定对函数内构造的对象也返回引用,那请看efictive c++ 第二版的分析。
zhukeke
2003-06-10
打赏
举报
回复
to hhdsq(流氓宝宝):
">>"是一元运算符还是二元?去看看MFC,返回的是“引用”还是“对象”?
lijdking
2003-06-10
打赏
举报
回复
同意 hhdsq(流氓宝宝)
hhdsq
2003-06-10
打赏
举报
回复
楼上的,像“+”这样的二元运算符一般返回对像,而不是引用。引用主要用在像“++”这样的一元运算符
zhukeke
2003-06-10
打赏
举报
回复
这个问题要搞清楚,必须弄清楚C++关于“引用”和“指针”的概念。
根据C++的规定,“引用”与“指针”在物理上是一样的(即机器语言级是一样的),不同的是它们的语法。“引用”在语法上是同义于“类”的,而指针不是,这一点对“类”的“运算符”尤为重要。
在C++中,运算符是针对“类”的,而不是针对“类的指针”的,如:
class A;
A a,b;
A &ra,&rb;
A *pa,*pb; //为简单起见,我省略了对这些变量的实际赋值
a+b; //这里的“+”是对“类A”而言的
ra+rb; //这里的“+”与上一句的“+”语义相同
pa+pb; //这里的“+”与前面语句中的“+”是一样的吗?显然不是!
因此,一个函数若返回“引用”,则它的“返回值”可直接参与“类的运算”(即C++所说的左值);但若函数返回的是“指针”,则没有上述特性。
显然,当“类的运算”需要“连续”进行时,只能返回“引用”。
winapp
2003-06-10
打赏
举报
回复
楼上的,选择的原则是什么?
比如举个例子说明。
Alicky
2003-06-10
打赏
举报
回复
各有长处,在不同的时候返回应有选择。
winapp
2003-06-10
打赏
举报
回复
我都在看Effective C++ Version2了。
知道它们的区别啊,
可是这两个东西返回哪个更有意思?除了对数组处理就没有其它一点区别了?
函数
和
类型
断言
TypeScript入门,基础语法的讲解,以及类、接口、
函数
的定义和实现,从零开始写出第一行TypeScript代码。
java构造
函数
返回
类型
_构造
函数
在Java中是否有
返回
类型
?
不,构造
函数
在Java中没有任何
返回
类型
。构造
函数
看起来像方法,但不是。它没有
返回
类型
,并且其名称与类名称相同。通常,它用于实例化类的实例变量。如果程序员不编写构造
函数
,则编译器将代表他编写构造
函数
。示例如果在下面的示例中仔细观察构造
函数
的声明,则该构造
函数
的名称仅类似于类和参数。它没有任何
返回
类型
。publicclassDemoTest{Stringname;intage;DemoTes...
c语言
函数
默认
返回
类型
函数
返回
类型
是你定义
函数
时自己决定的,默认为int型 C语言
函数
格式为: <
类型
名> <
函数
名>(形参1,形参2……)
类型
名就决定了
返回
类型
,如果没有明确写出
返回
类型
的话,默认为int
类型
。 void是空
类型
, void必须要明确写出来才可以,指的是
函数
不提供
返回
值,不是默认的。 比如:
函数
定义 int fun(int a)
返回
值就是整型
函数
定义 int *fun(int a)
返回
值就是整型的指针
函数
定义 void fun(int a) 无
返回
值 ...
C++
函数
返回
类型
后置用法(decltype)
常用的
函数
返回
类型
一般是在前面即void function();。但是C++11新增了语法,
函数
返回
类型
声明后置,在
函数
名和参数列表后面
返回
指定
类型
。C++
函数
返回
类型
后置一般用于模板
函数
中,可以提前
返回
编译器还没编译开始的
类型
。 #include <iostream> //编译器在遇到f3的参数列表前,T和U还不在作用域内,因此在参数列表后使用decltype template...
C++
函数
——
返回
类型
无
返回
值
函数
: 没有
返回
值的return语句只能用在
返回
类型
是void的
函数
中。 有
返回
值
函数
: return语句的第二种形式提供了
函数
的结果。 只要
函数
的
返回
类型
不是void, 则该
函数
内的每条return语句必须
返回
一个值。
返回
一个值的方式和初始化一个变量或形参的方式完全一样:
返回
的值用于初始化调用点的一个临时量, 该临时量就是
函数
调用的结果。
返回
引...
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章