返回值为引用 我晕了.......

cuilll cuilll 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
#include <string.h>
#include <iostream>
using namespace std;



int & fun()
{
int *p1=new int; //在内存中分配一个整数变量的大小,地址赋值给p
if(!p1) //如果分配不成绩
{
cout<<"Error,Memory allocation failture!"<<endl;
exit(0);
}


int &rp=*p1; //若分配成绩,定义rp是p指向空间的引用
rp=5; // 即 *p=5


return rp; //返回rp,即返回*p
}

int main(){


int & rp=fun(); //定义函数的引用
int *p=&rp; //定义指针,赋值为rp的指针


cout<<*p<<endl; //输出rp的值,即fun()的值

// 上一条语句的调用相当于: cout<<fun()<<endl;
//因为返回值为引用,又相当于 cout<<rp<<endl;(此rp为fun()函数中的rp)






delete p; //释放p指针指向的空间
*p=10; //给rp赋值 000000... 不懂哇 都删除了的 咋还可以赋值








cout<<rp; //输出rp的值


return 0;


}






...全文

相关推荐

引用作为函数返回值

一、引用作为函数参数   作为函数参数时引用有两种原因:   1、在函数内部会对此参数进行修改   2、提高函数调用和运行效率   关于第一点,都知道C++里提到函数会提到形参和实参。如果函数的参数实质是形参,不过这个形参的作用域只是在函数体内部,也是说实参和形参是两个不同的东西,要想形参代替实参,肯定有一个值的传递。函数调用时,值的传递机制是通过“形参=实参”来对形参赋值达到传值目的,产生了一个实参的副本。即使函数内部有对参数的修改,也只是针对形参,也是那个副本,实参不会有任何更改。函数一旦结束,形参生命也宣告终结,做出的修改一样没对任何变量产生影响。   例如: v

weixin_38688380

引用作为返回值的一些规则

引用作为返回值的一些规则引用作为返回值的一些规则引用作为返回值的一些规则

w踏雪w

Arcgis制图之晕线.docx

ArcGIS制图之晕线技术应用ArcGIS制图之晕线是一种常用的制图技术,用于制作行政区划图时,通过添加晕线效果来突出所要表达的行政区。

一笑凡尘

vb 晕线生成算法 晕线填充

在提供的压缩包文件中,"晕线生成.bas"可能包含了实现晕线生成算法的VB源代码,"晕线生成.exe"是编译后的可执行程序,可以直接运行查看效果,而"晕线生成.vbp"则是VB项目文件,包含了项目的所有组件和设置信息

乐哈哈111

返回值为引用类型的实例

引用是C++里德一个重要内容,有其独特的优势,这里给出返回值为引用类型的函数的例子

njuwst
评论 8
收藏 已收藏
分享
返回顶部
cuilll
新手乐园 33,315 成员 41,769 内容