c++ - c++“删除”命令有些奇怪
问题描述
如果删除指针,为什么输出 5 5?(我是新人)
#include <iostream>
using namespace std;
int main(){
int* i = new int(5);
cout<< *i <<endl;
delete i;
cout<< *i <<endl;
return 0;
}
解决方案
删除不设置 0 或内存i
指向的任何值。它只是将其标记为免费,以便以后可以使用它。这会导致未定义的行为
推荐阅读
- java - 如何将 javaFX 14 应用程序导出到 IntelliJ 中的可执行文件?
- tensorflow - Tensorflow 访问带有 tensorflow 索引的张量
- mongodb - 我的 mongod 服务器不工作,显示关闭代码:100
- ios - Swift 泛型 - 无法显式特化泛型函数
- analytics - 道琼斯指数数据仓库 - 尺寸正确?
- java - Neo4j 查询返回更多节点
- sql - 如何将多个数据表(DataColumn)加入一个但单独的列?
- sql - 在 SQL 中获取类别百分比的最有效方法是什么
- matlab - 如何在 MatLab 中使用 PRtools 的前向特征选择?
- python - 阻止 Turtle 中的 `extent` 参数改变圆的方向