当前位置: 首页 > news >正文

C++语法应用:返回指向局部变量的引用__使用new分配空间(不推荐)

前言

        编程是极其注重实践的工作,学习的同时要伴随代码

引入

        此前写过帖子C++基础语法:返回引用类型_c++返回引用类型-CSDN博客,里面提到了返回引用必须使用已存在数据,包括对象属性和形参里的引用.这种说法还不完全,在局部变量中可以使用new分配堆空间,返回堆空间数据的引用,这种写法只做一个语法探寻,实际不这样写

返回指向局部变量的引用

/*已测试*/
/*返回指向局部变量的引用*/
#include<iostream>
using namespace std;class Demo {int age;
public:Demo(int ag):age(ag){}int get_age() { return age; }
};Demo& ret(int age);int main() {Demo de = ret(18);cout << "对象年龄为:" << endl;cout << de.get_age() << endl;cout << "======================" << endl;cout << de.get_age() << endl;cout << "======================" << endl;cout << de.get_age() << endl;cout << "======================" << endl;}Demo& ret(int age) {Demo* de_pt = new Demo(age);Demo& de=*de_pt;return de;
}

测试结果:

对象年龄为:
18
======================
18
======================
18
======================

注意:

        编译器报警告:返回临时变量或局部变量的地址

        而且很尴尬的是,没办法释放内存而且找不到原因,所以不要这样用!!!

        


http://www.mrgr.cn/news/27874.html

相关文章:

  • 使用Kafka实现大规模数据流处理的最佳实践
  • 深入理解 SQL_MODE 之 ANSI_QUOTES
  • MYSQL_深入理解自连接_图书借阅情况(2/2)
  • C#界面设计
  • 基于Ubuntu2410脚本搭建OpenStack-D版
  • GPT-5 要来了:抢先了解其创新突破
  • 使用Elasticsearch进行全文搜索的Python函数实现
  • 电容的不同材质对应的温度范围
  • 技术选型对SQL与NoSQL以及Mysql,Hbase,Hive使用特性差别
  • 【Chrome】开发一个Chrome扩展以及常见问题的解决方案
  • Linux df命令详解使用
  • 【自动驾驶】控制算法(八)横向控制Ⅳ | 调试与优化
  • 【目标检测数据集】锯子数据集1107张VOC+YOLO格式
  • C语言 | Leetcode C语言接雨水II
  • 自由流转--实例(二)
  • 高级java每日一道面试题-2024年9月12日-安全篇[加密篇]-有哪些加密算法, 加密算法都有哪些分类?
  • Kubernetes Pod的3种重启策略
  • java中init()函数(JAVA基础)
  • NISP 一级 | 5.3 电子邮件安全
  • 【人工智能】AI创业的前沿思考 | 从垂直领域到通用智能模型AGI的崛起
  • uniapp js修改数组某个下标以外的所有值
  • 2020-11-04 求最小与均值输入0结束
  • 代码随想录算法训练营第四十四天| LeetCode322. 零钱兑换、LeetCode279.完全平方数、LeetCode139.单词拆分
  • python画图|同时输出二维和三维图
  • C++——哈希unordered_set/unordered_map的封装
  • 火语言RPA流程组件介绍--下拉框选择