c和c++的区别 (三)const&(引用)和const*(地址)在函数中的应用

60 篇文章 3 订阅
订阅专栏

一、用普通引用接收返回值

int GetInt(){
    int value=10;
    return value;//返回值通过eax寄存器带回
}

int main(){
    int &a=GetInt();//错误
    //引用初始化的值要能取地址,寄存器没有地址
    修改为:const int& a=GetInt();
    return 0;
}

这里写图片描述
二、返回局部变量的地址

//不能返回局部变量的地址或引用
int* GetIntPtr(){
    int value=10;
    //const int value=10;是数据,在.data段,这种情况可以返回地址
    return &value;
    //lea eax,[value]
}

int main(){
    int* p=GetIntPtr();        eax->p
    return 0;
}

这里写图片描述
三、返回.data段变量的地址

int* GetIntPtr(){
    static int value=10;
    return &value;
    //lea eax,[value]
}

int main(){
    int *&p=GetIntPtr();//错误,引用初始化的值要能取地址
    //修改为常引用:int* const&p=GetIntPtr();
    return 0;
}

这里写图片描述

四、返回局部变量的引用

//不能返回局部变量的引用
int& GetIntRef(){
    int value=10;//const int value=10;是正确的
    return value;
    //lea eax,[value]
}
int main(){
    int a=GetIntRef();       *eax->p
}

五、返回指针的地址、返回指针的引用

int** GetIntPtrPtr(){
    static int data=10;
    static int* p=&data;
    return &p;//通过eax寄存器带回
}
int*& GetIntPtrRef(){
    static int data=10;
    static int *p=&data;
    return p;
}

临时量的产生由三种不同的情况:

1.函数调用之前
2.函数的return语句处
3.函数调用之后
写文章

热门文章

  • 邻接表和逆邻接表 39748
  • UDP协议的特点及UDP头部结构 32055
  • C语言 实现浮点数的整型强制转化 31427
  • 二叉树:前序与后序、前序与中序以及中序与后序相同、相反的特征 30739
  • linux系统调用函数 lstat--获取文件属性 20529

分类专栏

  • 西安交通大学《915》2015-2021编程题解析 24篇
  • C语言编程49题 28篇
  • LeetCode-DP系列 12篇
  • 算法 1篇
  • vim
  • 线性代数 1篇
  • 剑指offer 4篇
  • 高等数学 1篇
  • c/c++ 60篇
  • linux 33篇
  • 数据结构 77篇
  • 趣味编程 4篇
  • 编程练习 3篇
  • 操作系统 11篇
  • 算法基础 26篇
  • java 15篇
  • PAT
  • python 5篇
  • PAT乙级题解 30篇
  • PAT甲级题解 18篇
  • 图论 5篇
  • Leetcode 13篇

最新评论

  • 层序遍历求树的深度

    wst_073: 可读性好差。。。

  • 二叉树:在孩子兄弟链表表示的树中求叶子节点的个数

    m0_74445355: 按照那个走一遍 照你说的 遍历的都在next里面

  • 二叉树:在孩子兄弟链表表示的树中求叶子节点的个数

    m0_74445355: 对的吧这个

  • 邻接表和逆邻接表

    CactusLLX: 你真是个天才

  • 邻接表和逆邻接表

    bit big five: 太清楚了,感谢

最新文章

  • facebook-雪花算法-分布式ID-C++实现
  • C++实现-带有颜色输出的简单日志类
  • C++多态实现
2022年3篇
2021年72篇
2020年61篇
2019年129篇
2018年110篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家湖北公园玻璃钢雕塑销售电话宁夏彩色玻璃钢雕塑玻璃钢主题雕塑多少钱甘孜卡通玻璃钢雕塑池州步行街玻璃钢雕塑价位临颍玻璃钢雕塑费用雕塑玻璃钢翻模厂招聘安阳佛像玻璃钢景观雕塑玻璃钢雕塑生产培训玻璃钢雕塑消防人上海中庭商场美陈销售企业新县玻璃钢雕塑定制阳江玻璃钢艺术雕塑广东玻璃钢卡通雕塑熊定做吉林小区玻璃钢雕塑定制常见玻璃钢花盆销售公司河南标牌玻璃钢彩绘雕塑加工开封锻铜校园玻璃钢雕塑公司玻璃钢雕塑施工流程云南玻璃钢公园雕塑江苏玻璃钢雕塑摆件市场宜春多彩玻璃钢雕塑河北开业商场美陈批发价玻璃钢骆驼雕塑哪家值得信赖达州玻璃钢仿铜雕塑玻璃钢人物雕塑特点深圳特色商场美陈采购玻璃钢抽象动物雕塑哪家好丹阳玻璃钢雕塑厂家呈贡玻璃钢雕塑哪家专业香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化