学习c ++,需要有关内存分配的帮助

时间:2017-08-24 00:00:04

标签: c++ memory heap

    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

0 个答案:

没有答案