c++匿名对象

简介: 匿名对象没有名字的对象。这是一个自定义的类。

匿名对象

没有名字的对象。

这是一个自定义的类。

class A
{
public:
  A(int a = 0)
    :_a(a)
  {
    cout<<"A(int a = 0)" << endl;
  }
  ~A()
  {
    cout << "~A()" << endl;
  }
private:
  int _a;
};
  • 生命周期只有一行
  • 没有名字
int main()
{
  A a1;   //正常定义一个对象
  //  A aa1();  //不能这么定义对象,因为编译器无法识别这个是函数声明,还是对象的定义。
  A();    //匿名对象定义方法。   生命周期只有一行,下一行直接调用析构函数。
}

匿名对象有什么用呢?

比如有这样一个类,我们只想使用类的一个功能,但并不需要使用对象。

class Solution
{
public:
  int Sim_Solution(int n)
  {
    //.....
    return n;
  }
};
int main()
{
  Solution slt;
  slt.Sim_Solution(10);
  Solution().Sim_Solution(10);  //只需一行即可。
  return 0;
}

如果单纯的想调用函数,我们可以不必将类实例化,仅仅需使用匿名对象定义即可,更加简洁。

目录
相关文章
|
1月前
|
C++
C++(十一)对象数组
本文介绍了C++中对象数组的使用方法及其注意事项。通过示例展示了如何定义和初始化对象数组,并解释了栈对象数组与堆对象数组在初始化时的区别。重点强调了构造器设计时应考虑无参构造器的重要性,以及在需要进一步初始化的情况下采用二段式初始化策略的应用场景。
|
1月前
|
存储 编译器 C++
C ++初阶:类和对象(中)
C ++初阶:类和对象(中)
|
2月前
|
存储 安全 编译器
【C++】类和对象(下)
【C++】类和对象(下)
【C++】类和对象(下)
|
2月前
|
编译器 C++
virtual类的使用方法问题之在C++中获取对象的vptr(虚拟表指针)如何解决
virtual类的使用方法问题之在C++中获取对象的vptr(虚拟表指针)如何解决
|
2月前
|
C++
C++ --> 类和对象(三)
C++ --> 类和对象(三)
36 9
|
2月前
|
编译器 C++
【C++】类和对象(中)
【C++】类和对象(中)
|
2月前
|
存储 编译器 程序员
【C++】类和对象(上)
【C++】类和对象(上)
|
2月前
|
编译器 C++ 开发者
C++ --> 类和对象(二)
C++ --> 类和对象(二)
32 7
|
2月前
|
存储 编译器 C++
【C++】类和对象(下)
【C++】类和对象(下)
|
2月前
|
存储 编译器 Linux
【C++】类和对象(上)
【C++】类和对象(上)
下一篇
无影云桌面