在下面的程序中,我们在局部范围内创建 Circle 对象,因为我们没有使用 new 关键字。我们知道一个变量或对象的内存在程序结束时会自动终止 finish 而不是我们为什么要使用 destruct?
#include<iostream>
using namespace std;
class Circle //specify a class
{
private :
double radius; //class data members
public:
Circle() //default constructor
{
radius = 0;
}
void setRadius(double r) //function to set data
{
radius = r;
}
double getArea()
{
return 3.14 * radius * radius;
}
~Circle() //destructor
{}
};
int main()
{
Circle c; //defalut constructor invoked
cout << c.getArea()<<endl;
return 0;
}
最佳答案
将内存假设为无限资源是非常危险的。考虑一个需要 24x7 全天候运行并以高速率(比如说每秒 1,000 条消息)收听数据馈送的实时应用程序。每条消息大约 1KB,每次它为每条消息分配一个新的内存块(显然在堆中)。总之,我们每天需要大约 82 GB。如果你不管理你的内存,现在你可以看到会发生什么。我不是在谈论复杂的内存池技术或类似技术。通过简单的算术计算,我们可以看出我们不能将所有消息都存储在内存中。这是您考虑内存管理的另一个例子(从分配和释放的角度)。
关于c++ - 一个变量或对象的内存在程序结束时自动终止,而不是为什么我们使用析构函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24349211/