C++ 匿名对象(没有名字的对象,类似于临时对象)
个人主页:Jason_from_China-CSDN博客
所属栏目:C++系统性学习_Jason_from_China的博客-CSDN博客
所属栏目:C++知识点的补充_Jason_from_China的博客-CSDN博客
概念概述
- 用类型(实参)定义出来的对象叫做匿名对象,相比之前我们定义的类型对象名(实参)定义出来的叫有名对象
- 匿名对象生命周期只在当前一行,一般临时定义一个对象当前用一下即可,就可以定义匿名对象。
使用
代码
#include<iostream> using namespace std; class A { public:A(){cout << "A()构造" << endl;}~A(){cout << "~A()析构" << endl << endl;}void _print(){cout << "测试匿名" << endl;} private:int _a; };int main() {A();//匿名A()._print();//延长声明周期(虽然使用了const A& r = A();试图延长临时对象的生命周期,但是仍然不能访问print函数,原因如下:临时对象的限制:编译器的限制)const A& r = A();return 0; }
注意事项:
匿名对象可以延长生命周期,只需要进行绑定就可以进行延长生命周期