首页 > 编程语言 >C++ 引用注意的问题

C++ 引用注意的问题

时间:2022-09-25 15:34:44浏览次数:54  
标签:return int C++ 33 引用 func 注意

引用的对象不存在

#include <iostream>
using namespace std;


class A
{
public:
    A(int x) { this->x = x; }
    ~A() {};
    int get_x() { return x; }

private:
    int x;
};


A& func()
{
    A a(33); // 局部变量超过作用域会回收
    return a;
}

int main()
{
    A& r = func();
    cout << r.get_x() << endl;

    return 0;
}

输出:

7599612  // 一个随机数

如果将主函数A& r = func();改成A r = func(); func 函数返回值改成A去掉&按值返回对象的副本。

输出:

33  

标签:return,int,C++,33,引用,func,注意
From: https://www.cnblogs.com/huvjie/p/15900138.html

相关文章

  • 【代码片段】Qt6.2.4 C++ 打开外部 CMD 窗口
    转载https://blog.csdn.net/fuhuixin7497/article/details/85126799正文打开了一个外部CMD窗口,并且主程序推出后该窗口不会关闭voidMainWindow::on_allPathCmdBtn......
  • C++ 避坑指南
    主要预防比赛时抱灵……可以用sizeprogram.exe来查看代码中的静态空间大小,能有效避免\(\text{MLE}\)的发生。在打完代码需要时刻注意题目中是否要开longlong,......
  • 我学习 C++ 运行时多态性的方法
    我学习C++运行时多态性的方法我的简短故事与实施原因。我希望你能明白我做了什么。我创建了一个设计文档。这有望帮助其他人理解我的解决方案。这是链接到员工工厂源代......
  • C++ bitset
    bitset可以更快的求大量位的表示和运算两个bitset<n>之间可以直接做与或非异或操作同时也可以使用set、count等位操作操作方法:1、https://blog.csdn.net/JAN6055/arti......
  • c++基础入门自学笔记总结3---结构体
    卷首闲言碎语:大风起兮云飞扬,又到周末兮打卡辽~不过这周并没有学到什么,就学习了结构体,不过学完结构体后c++的学习之旅就要暂时告一段落了,因为这几天也是在忙活于社团还有RM......
  • 【代码片段】Qt6.2.4 C++ 退出应用程序方式
    转载https://blog.csdn.net/kidults/article/details/78549336正文触发析构函数方式//这种方式不会触发析构函数QApplication::exit(0);不触发析构函数方式(直接......
  • C++源码压缩程序
    C++源码压缩程序一、必做内容:(一)压缩器1.为了提高C++源程序的可读性,C++程序在书写过程中加入了空行、空格、缩进、注释等。假设你想牺牲可读性,以节省磁盘空间,那么你可以......
  • 「浙江理工大学ACM入队200题系列」问题 E: 零基础学C/C++78——求奇数的乘积
    本题是浙江理工大学ACM入队200题第七套中的E题(大概)我们先来看一下这题的题面.题面输入输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据......
  • golang值传递和引用传递
    Go中所有的参数传递都是值传递,拷贝的都是一个副本。但是,这里分两种情况讨论,引用类型 和 非引用类型。非引用类型(值类型):int,string,float,bool,数组和struct;特点:值类型变量......
  • resultType-resultMap注意点
    注意:1、查询的标签select必须设置属性resultType或resultMap,用于设置实体类和数据库表的映射关系resultType:自动映射,用于属性名和表中字段名一致的情况......