C++ 返回类型和return语句
值是如何返回的
返回一个值的方式和初始化一个变量或形参的方式完全一样,返回的值用于初始化调用点的一个临时量,该临时量就是函数调用的结果。
(资料图)
如果函数返回引用,则该引用仅是他所引用对象的一个别名。
其中形参和返回类型都是const string的引用,不管是调用函数还是返回结果都不会真正拷贝string对象。
不要返回局部对象的引用或指针
函数完成后,他所占的空间也会随之被释放掉,因此函数终止意味着局部变量的引用将指向不再有效的内存区域。
上面两条语句都将返回未定义的值,对于第一条return语句,显然他返回了局部对象的引用,第二条return语句,字符串字面值转换成一个局部临时string对象,对于manip来说,该对象和ret一样是局部的,当函数结束时临时对象占用的空间随之释放,所以两条语句都指向了不可再用的内存空间。
指针和引用同样,都是指向了不存在的对象。
返回类类型的函数和调用运算符
调用函数的优先级和点运算符、箭头运算符相同,并且也符合左结合律。
因为上面运算符满足左结合律,所以shorterString的结果是点运算符的左侧运算对象。
引用返回左值
函数的返回类型决定函数调用是否是左值。调用一个返回引用的函数得到左值,其他返回类型得到右值,可以像使用其他左值一样使用返回引用函数。
get_val函数返回的是引用,因此调用是个左值。
列表初始化返回值
函数可以返回花括号包围的值的列表,此列表也用来对表示函数返回的临时量进行初始化。
主函数main的返回值
我们允许主函数没有return语句直接结束,因为编译器在main函数结尾没有发现return的话就会隐式插入一条返回0的return语句。
关键词:
责任编辑:宋璟
-
C++ 返回类型和return语句
-
建宁:小种子成就大产业|全球快播报
-
聚焦:秋枫书屋:奇妙创意乐高主题活动——《我是宇航员》
-
30多项服务“一网打尽” 长江干线首个多功能公共服务平台上线|世界聚看点
-
做生意收到假钱报警有用吗_做生意收到假钱怎么办|每日速递
-
OPPO Find N3 大过预期 世界视讯
-
又一超大型国际能源装备在青岛交付
-
原子能机构小组:越南在建立国家核安全制度方面取得进展 焦点速读
-
快讯:情人生日送什么礼物好男的
-
朱益飞出任亚盛医药首席商务官
-
保定市气象台发布大风蓝色预警【Ⅳ级/一般】
-
真空油炸机|世界时讯
-
筑梦彝族少年,爱在东坡——眉山市东坡区太和初中举行读书分享会|当前最新
-
全球热议:银行理财产品收益怎么入账 什么时候入账
-
阿圭罗:来自诺坎普的爱已传递到梅西那里,梅西可能重返巴萨
-
最新消息:四会市住建局电话地址
-
每日报道:多家银行回应欧美银行业风险:对中资银行影响很小
-
聚焦:面对烦恼,要有宁静之心
-
报告称深圳时尚产业向价值链高端环节跃升
-
斗罗大陆:独孤博不愿前往神界的原因,其实宁荣荣已经告诉大家了 热点评
-
今日播报!奔腾T90 4月18日首发!内饰像奔驰 预计12万起售
-
豆浆营养价值及功效_豆浆的营养价值与功效有哪些
-
青海将启动民企与毕业生供需见面专场招聘会
-
中信银行(00998.HK):3月31日南向资金减持536.4万股 微头条
-
祈福生活服务2022年总收入3.83亿元 同比下降11.1%_世界速看
-
安阳学院博物馆
-
美股三大指数集体高开 美光科技跌逾4%_新动态
-
涉嫌严重违纪违法!河南郑州国家油脂储备库原主任刘新建被查
-
【地评线】南海时评:“好评中国”再起航 奋进中国勇向前-环球快资讯
-
孙子兵法视角解读中融基金基金经理2022年走心年报|滚动
-
注意!4月2日至4日我省自北向南有一次暴雨大暴雨过程|即时焦点
-
菏泽一小区2地块规划方案调整!现征求意见!
-
南大光电(300346)3月31日主力资金净卖出1283.10万元_每日热点
-
【世界聚看点】立马携手篮球巨星易建联,开启新纪元
-
世界速递!辽宁鲅鱼圈旅游景点_辽宁鲅鱼圈旅游全攻略