One*_*ake 1 c++ memory-management
所以在C++中,如果我创建一个使用的对象,new
我应该总是使用delete
例如解除分配它
Segment::Segment(float length)
{
segmentLength = length;
angle = 0.0f;
x = Rand::randFloat(1.0f, 1.5f);
y = Rand::randFloat(1.0f, 1.5f);
vx = Rand::randFloat(0.0f, 1.0f);
vy = Rand::randFloat(0.0f, 1.0f);
prevX = Rand::randFloat(0.0f, 1.0f);
prevX = Rand::randFloat(0.0f, 1.0f);
};
Run Code Online (Sandbox Code Playgroud)
并且我可以说我在另一个类中使用它,例如
this._segmentObject = Segment(2.0f);
this._segmentPointer = new Segment(2.0f);
Run Code Online (Sandbox Code Playgroud)
在该类的析构函数中,我知道我应该调用delete
this._segmentPointer,但是如何确保为另一个释放内存呢?
但是,我如何确保为另一个内存释放内存?
它是自动的.这就是为什么这种类型的存储被称为自动存储.在存储生命周期结束时释放自动存储,并调用对象的析构函数.
当程序控件离开已分配对象的范围时,对象生命周期结束.