new和delete

简介: #include <iostream>using namespace std;int main(int argc, char *argv[]){ int *p = NULL; //定义变量,此时&p有值,但p = NULL,即不指向任何内存空间 p = new int; //在堆上分配一个内存空间,并使p指向它,p有了值,此时*p的值不确定 *p

#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; }

相关文章
|
2月前
|
C++
delete与delete【】区别
delete与delete【】区别
20 0
|
9月前
|
C++
深入理解new和delete
C++中添加了new和delete替代了原先的malloc跟free,本文将详细介绍它们之间的区别。
|
11月前
|
存储 编译器 C语言
深入了解C++中各种不同意义的new和delete
深入了解C++中各种不同意义的new和delete
101 0
|
C语言 C++
【二、new与delete详解】
【二、new与delete详解】
80 0