C++的new和delete
程序员文章站
2022-07-02 21:50:37
#include using namespace std; int main(int argc, char *argv[]) { int *p = NULL; //定义变量,此时&p有值,但p = NULL,即不指向任何内存空间 p = new int; //在堆上分配一个内存 ......
#include <iostream> using namespace std; int main(int argc, char *argv[]) { int *p = null; //定义变量,此时&p有值,但p = null,即不指向任何内存空间 p = new int; //在堆上分配一个内存空间,并使p指向它,p有了值,此时*p的值不确定 *p = 1; //*p的有了值,即p所指的空间有了值 delete p; //释放p所指的空间,*p的值不确定了,但p依然有值,即new所分配的空间的地址
*p = 2; //不报错,给p所指的空间复制 delete p; //挂掉
//所以delete p;之后,一定要p = null; return 0; }
上一篇: Linux之man命令详解及中文汉化
下一篇: 二进制部署MySQL
推荐阅读
-
小计C++中的引用和vector
-
C++ 自增、自减运算符的重载和性能分析
-
详解C#用new和override来实现抽象类的重写区别
-
c++ 拷贝构造函数(重点在内含指针的浅拷贝和深拷贝)
-
C/C++ return *this和return this的区别
-
C++高级编程之对象模型、const、new和delete及其重载讲解
-
OpenCV中的新函数connectedComponentsWithStats使用(python和c++实例)
-
PHP的new static和new self的区别与使用
-
详解MySQL中DROP,TRUNCATE 和DELETE的区别实现mysql从零开始
-
C++入门之new和delete关键字、静态成员属性与函数、this指针使用介绍