在堆栈上创建对象的不同方法
Different ways to create objects on stack
有一个类带有非默认构造函数。
#include <iostream>
class Foo {
public:
Foo(int a) { std::cout << "Constructor" << std::endl; };
}
因此无法调用默认构造函数:
Foo obj; // compilation error
可以输入非默认构造函数:
Foo obj(1);
问题:
在编译的以下行中会发生什么?
Foo obj();
创建一个没有参数的函数原型。
更具体地说...基本上什么都没发生
相关文章:
- 使用基类指针创建对象时,缺少派生类析构函数
- 如何创建对象函数指针C++映射?
- 在 C++ 的 Switch Case 中创建对象后对对象调用方法
- C ++:如何在不创建对象的情况下在主函数中调用方法
- 工厂方法创建的对象应该在哪里删除?
- 如何在一种方法中创建对象并在另一种方法中使用它
- 如何发送通过绑定到函数/方法创建的函数对象?
- 使用各种数据类型成员创建对象的简便方法
- 是否可以在一个语句中创建对象并调用方法?
- 在堆栈上创建对象的不同方法
- 如何使用工厂方法创建不同的对象
- 仅通过基类"create"方法将对象创建为共享指针
- C++模板方法来创建对象
- 存储动态创建对象的列表/向量的最佳方法是什么
- 无法创建对象并使用其模板类方法
- 有没有一种方法可以强制使用shared_ptr在堆上创建对象
- 创建对象数组然后有效删除它们的更好方法
- 用方法和对象创建函数对象
- 使用私有构造函数在静态方法中创建对象
- 静态方法来创建对象而不是构造函数