C++的拷贝构造,指针释放问题

先上代码,nocodenosay
/*
classPoint{
//...
};
*/
Point*pPoint=newPoint;//1
Pointpoint;//2
*pPoint=point;//3
//...
deletepPoint//4
关于步骤1new可分解为如下:
//cpp为代码
Point*pPoint=__new(sizeof(Point));//5
if(pPoint)
{
pPoint->Point::Point();
}
步骤3,是不是就是调用Point的拷贝赋值函数?
步骤4删除该指针就是针对步骤5进行分配的内存进行释放?
我这样理解是否有错?
繁星coding
浏览 489回答 2
2回答

慕的地8271018

步骤3的理解基本正确,步骤4不只是释放内存,在此之前还会先执行析构函数,基本相当于pPoint->Point::~Point();

慕容森

请问一下,执行过步骤5之后,这块内存不是仍然没有被释放吗?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript