中的引用
2、常引用
常引用声明方式:const 类型标识符 引用名=目标变量名;
用这种方式声明的引用,不能通过引用对目标变量的值进行修改,从而使引用的目标成为const,达到了引用的安全性。
【例3】:
int a ;
const int ra=a;
ra=1; //错误
a=1; //正确
这不光是让代码更健壮,也有些其它方面的需要。
【例4】:假设有如下函数声明:
string foo( );
void bar(string s);
那么下面的表达式将是非法的:
bar(foo( ));
bar(\"hello world\");原因在于foo( )和\"hello world\"串都会产生一个临时对象,而在C++中,这些临时对象都是const类型的。因此上面的表达式就是试图将一个const类型的对象转换为非const类型,这是非法的。
引用型参数应该在能被定义为const的情况下,尽量定义为const 。
3、引用作为返回值
要以引用返回函数值,则函数定义时要按以下格式:
类型标识符 函数名(形参列表及类型说明)
{函数体}
说明:
(1)以引用返回函数值,定义函数时需要在函数名前加
(2)用引用
返回一个函数值的最大好处是,在内存中不产生被返回值的副本。
【例5】以下程序中定义了一个普通的函数fn1(它用返回值的方法返回函数值),另外一个函数fn2,它以引用的方法返回函数值。
#include iostream.h
float temp; //定义全局变量temp
float fn1(float r); //声明函数fn1
float fn2(float r); //声明函数fn2
float fn1(float r) //定义函数fn1,它以返回值的方法返回函数值
{
temp=(float)(r*r*3.14);
return temp;
}
float fn2(float r) //定义函数fn2,它以引用方式返回函数值
{
temp=(float)(r*r*3.14);
return temp;
}
void main() //主函数
{
可见商标对一个企业的作用有多大。” 他说 float a=fn1(10.0); //第1种情况,系统生成要返回值的副本(即临时变量)
float b=fn1(10.0); //第2种情况,可能会出错(不同 C++系统有不同规定)
//不能从被调函数中返回一个临时变量或局部变量的引用
float c=fn2(10.0); //第3种情况,系统不生成返回值的副本
//可以从被调函数中返回一个全局变量的引用
float d=fn2(10.0); //第4种情况,系统不生成返回值的副本
//可以从被调函数中返回一个全局变量的引用
coutacd;
}
外科广州治疗子宫内膜炎医院
伤口吃什么愈合的快
-
奥赛康:母公司新药ASKG315获临床试验申请受理通知书
奥赛康6月15日晚间公告,子公司浙江奥赛康生物医药有限公司于据悉送出国家...
2023-09-04
-
赢在职场:30岁前频繁自立门户换岗位的你,如何面对三十岁后的人生
开篇修订版: 母公司的小冯最终递交了下台报告,我并不需要签字批准。 男...
2023-09-02
-
2022年一季度深圳10+1区GDP排行曝光!深圳年初将全面加大投资力度
蛇口2022年第三季度10+1区里GDP位列 NO.1:南较高原东部里区里1840.28亿元,上年...
2023-08-31
-
中国西电(601179.SH)聘任石丹兼任总会计师、董事会秘书
中国西电(601179.SH)公告,田喜民因退休原因,向美国公司理事会申请辞去总会...
2023-08-30
-
富国基金股权转让新进展:山东金融资产豪掷50.39亿元收购富国16.675%股权,回报率高达352.
安邦基金会16.675%持股受让方终于出炉! 之前青岛市国际性信托股份控股(简...
2023-08-28
-
熬猪油,只加盐是“外行”!多加3样,猪油雪白香浓,抽1年不会坏
蒸灰糖,只芥菜是“充其量”!多加3十分相似,灰糖雪灰珠浓,抽1年不能再...
2023-08-27