个人主页: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; }
注意事项:
匿名对象可以延长生命周期,只需要进行绑定就可以进行延长生命周期