当前位置: 首页 > 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;
}

相关文章:

  • 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定时器实现微秒、毫秒、秒延时函数
  • 报告:4月份新增发行的1763亿元专项债中,投向房地产相关领域约717亿元
  • 本周看啥|喜欢二次元的观众,去电影院吧
  • 体坛联播|曼联热刺会师欧联杯决赛,多哈世乒赛首日赛程出炉
  • 中国国家电影局与俄罗斯文化部签署电影合作文件
  • 正荣地产:前4个月销售14.96亿元,控股股东已获委任联合清盘人
  • 上海推动AI+文旅深度融合,MaaS平台和产业基地落地徐汇