int main() {
Person *pSamuel;
pSamuel = new Person("samuel", 28, Person::Male);
delete pSamuel;
pSamuel = new Person("samuel", 28, Person::Male);
return 0;
}
大家好,我有一个关于“新”和“删除”的快速提问。
正如你所看到我将pSamuel设置为一个新的Person对象,然后我删除它,然后我将它设置为一个新对象,为什么它指向同一个地址?当我输入删除时,我以为我释放了内存。这只是因为分配算法重用相同的内存进行优化吗?或者我错过了一些关于实际删除功能的内容?或者我错过了一些关于创建具有相同数据的新人物对象的东西?
我感谢任何帮助。我昨天刚开始学习c ++,所以当我来自python时,对我来说很容易......我可以不记得内存位置。 :P