This question already has answers here:
C++ delete - It deletes my objects but I can still access the data?
(13个回答)
7年前关闭。
我正在尝试了解C++中的内存管理。
这是我的代码:
我的第一个cout有效,第二个cout无效,因为我在两者之前都使用 您正试图取消引用指向已实现内存的指针。这是未定义的行为。什么事情都可能发生。 您正在尝试释放已经释放的内存。这是未定义的行为。什么事情都可能发生。
(13个回答)
7年前关闭。
我正在尝试了解C++中的内存管理。
这是我的代码:
Person *P5 = new Person();
delete P5;
std::cout<<P5->getWeight()<<std::endl;
delete P5;
std::cout<<P5->getWeight()<<std::endl;
我的第一个cout有效,第二个cout无效,因为我在两者之前都使用
delete
。谁能解释一下? 最佳答案
delete P5;
std::cout<<P5->getWeight()<<std::endl; // 1
delete P5; // 2
std::cout<<P5->getWeight()<<std::endl; // 3
goto
1 关于c++ - 删除运算符(operator)内存管理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17357528/