首页 > 解决方案 > 没有构造函数的类对象的动态分配

问题描述

如何动态分配没有定义构造函数的类对象?

我试过了:

A * newPtr = new A();

但这给了我在 gdb 上的某种内存泄漏。

干杯!

标签: c++

解决方案


如果没有定义的构造函数并且标准规则允许,那么您将获得一个隐式声明的 默认构造函数,否则您的代码将根本无法编译。

因此,如果您没有定义任何构造函数并且您的代码可以编译,那么肯定会声明并定义一个默认构造函数(因此您实际上有一个构造函数)。

你得到一个泄漏,因为你需要delete指针从堆中释放它的内存。


推荐阅读