相关疑难解决方法(0)

"空"构造函数或析构函数是否会与生成的构造函数或析构函数执行相同的操作?

假设我们有一个(玩具)C++类,如下所示:

class Foo {
    public:
        Foo();
    private:
        int t;
};
Run Code Online (Sandbox Code Playgroud)

由于没有定义析构函数,因此C++编译器应该自动为类创建一个析构函数Foo.如果析构函数不需要清理任何动态分配的内存(也就是说,我们可以合理地依赖编译器给我们的析构函数),那么将定义一个空的析构函数,即.

Foo::~Foo() { }
Run Code Online (Sandbox Code Playgroud)

做与编译器生成的一样的事情?那个空构造函数怎么样 - 也就是说,Foo::Foo() { }

如果存在差异,它们存在于何处?如果没有,一种方法优于另一种方法吗?

c++ oop constructor destructor class

72
推荐指数
4
解决办法
3万
查看次数

标签 统计

c++ ×1

class ×1

constructor ×1

destructor ×1

oop ×1