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

【C++】类和对象(匿名对象)

匿名对象

  • 用 类型(实参) 定义出来的对象叫做匿名对象,相比之前我们定义的 类型 对象名(实参) 定义出来叫有名对象
  • 匿名对象生命周期只在当前一行,一般临时定义一个对象当前用一下即可,就可以定义匿名对象。
class A
{
public:
	A(int a = 0)
	:_a(a)
	{
		cout << "A(int a)" << endl;
	}
	~A()
	{
		cout << "~A()" << endl;
	}
private:
	int _a;
};

class Solution {
public:
	int Sum_Solution(int n) {
	//...
		return n;
	}
};

int main()
{
	A aa1;
	// 不能这么定义对象,因为编译器无法识别下面是一个函数声明,还是对象定义
	// A aa1();
	// 但是我们可以这么定义匿名对象,匿名对象的特点不用取名字,
	// 但是他的⽣命周期只有这一⾏,我们可以看到下一⾏他就会自动调用析构函数
	A();
	A(1);
	A aa2(2);
	// 匿名对象在这样场景下就很好用,当然还有一些其他使用场景,这个我们以后遇到了再说
	Solution().Sum_Solution(10);
	return 0;
}
http://www.dtcms.com/a/86763.html

相关文章:

  • Python爬虫-爬取AliExpress商品搜索词排名数据
  • Python FastAPI面试题及参考答案
  • 基于springboot的新闻推荐系统(045)
  • Mybatis_plus
  • 数据库三级填空+应用题(1)
  • 【Node.js入门笔记10---http 模块】
  • 【SpringCloud】微服务的治理以及服务间的远程调用
  • 基于python+django的图书借阅网站-图书借阅管理系统源码+运行步骤
  • 【2025】基于springboot+vue的农产品商城系统设计与实现(源码、万字文档、图文修改、调试答疑)
  • NO.9|C++内存|堆和栈|内存管理|malloc和局部变量|程序section启动过程|全局变量|内存泄漏|atomoic|内存模型|内存对齐
  • SSH配置过程及无法正常链接问题的解决【小白教学】
  • JVM类文件结构详解
  • 【计算机网络运输层详解】
  • OpenCV-Contrib常用扩展模块
  • Python模块化设计——递归
  • git push 提示 fatal: the remote end hung up unexpectedly
  • Linux系统管理与编程10:任务驱动综合应用zabbix-agent2
  • STM32滴答定时器(SysTick)原理及延时函数实现
  • python爬虫DrissionPage的使用
  • 【CC2530 教程 二】CC2530定时器实现微秒、毫秒、秒延时函数
  • 爬虫框架Scrapy从入门到实战
  • android初学
  • cython编译pyd并且c调用
  • 腾讯四面面经
  • Qt-Q_ENUM宏和QMetaEnum类
  • rocky linux 与centos系统的区别
  • 16.Linux蓝牙从硬件驱动到应用
  • HTTP核心知识
  • vue插槽传送和接收item
  • pyqt5报错:qt.qpa.plugin: Could not find the Qt platform plugin “xcb“(已解决)