一、匿名对象的概念
匿名对象也称临时对象,创建时无需对象名称。
class A {
private:
int _a;
public:
A(int a = 1)//构造函数
:_a(a)
{}
~A()//析构函数
{
cout << "~A()析构函数" << endl;
}
};
int main()
{
//有名对象
A aa1;
A aa2(2);
//匿名对象
A(3);
A();
return 0;
}
二、匿名对象的生命周期
匿名对象的生命周期只有一行,本行指令执行完毕后,匿名对象即被销毁。
三、匿名对象调用函数
有名对象调用成员函数需要先创建有名对象,再调用成员函数
A aa1;
aa1.Print();
如果我们仅仅是要调用某个成员函数,与对象无关,直接利用匿名对象调用更加简洁方便
A().Print();