在堆栈上创建对象的不同方法

Different ways to create objects on stack

本文关键字:方法 创建对象 堆栈      更新时间:2023-10-16

有一个类带有非默认构造函数。

#include <iostream>
class Foo {
public:
  Foo(int a) { std::cout << "Constructor" << std::endl; };
}

因此无法调用默认构造函数:

   Foo obj; // compilation error

可以输入非默认构造函数:

   Foo obj(1);

问题:

在编译的以下行中会发生什么?

   Foo obj(); 

创建一个没有参数的函数原型。

更具体地说...基本上什么都没发生