关闭

c++学习 ( new, delete)

标签: c语言
132人阅读 评论(0) 收藏 举报
分类:

c++是面向对象的编程语言, 其强调的是在运行阶段进行决策,而不是在编译阶段, 所以引入 new ,delete 等 来进行动态内存分配
new 返回的是一个地址, 如 int *p = new int; int *arr = new int [10]; 此时 new 返回的是一个可以容纳int类型的地址。
计算机可能会由于没有足够的内存而无法满足new,在这种情况下new会返回0, c++中值为0的指针被称为空指针;

为了避免内存泄漏,C++ 中可以使用delete 来释放new 的请求地址;

delete p;
此时释放p所指内存,并不会删除指针本身

使用 new 和 delete的注意
delete释放内存针对的是通过new产生的内存对象
避免delete 同样内存多次
使用 new【】 的数组要 使用delete【】 释放
如果使用new【】 为一个实体分配内存,也要使用delete释放
对空指针delete是安全的

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:97198次
    • 积分:5143
    • 等级:
    • 排名:第5361名
    • 原创:437篇
    • 转载:20篇
    • 译文:1篇
    • 评论:0条