C++中使用new申请内存来实现动态数组

小微 科技C++中使用new申请内存来实现动态数组已关闭评论103字数 772阅读模式
摘要这篇文章和大家分享和探讨关于C语言和C++在内存的申请和使用方面的区别。我们知道在C语言中使用函数malloc()和free()对内存的申请与释放,虽然在c++中同样适用,但是在c...

这篇文章以及大家分享以及探讨关于C语言以及C++在内存的申请以及使用方面的区分。咱们知道在C语言中使用函数malloc()以及free()对内存的申请与释放,尽管在c++中一样合用,然而在c++中咱们有了更好的选择,那就是咱们今天要讲的new 以及delete。

首先咱们要知道以及区别的是咱们的new 是运算符,malloc是函数,咱们的new是c++中的运算符,用于申请动态内存,在c++中咱们在创立对象的同时要自动执行构造函数,文章源自微观生活(93wg.com)微观生活-https://93wg.com/18826.html

咱们在使用new去申请内存时可能会存在申请失败的情况,这时候候咱们的new会返回0,在c++中值为0的指针被称为空指针,c++确保空指针不会只想有效数据,因而他往往被用来表示操作符或者是函数失效,文章源自微观生活(93wg.com)微观生活-https://93wg.com/18826.html

为了更好的展现刚刚所说的知识,就选择了手动输入要创立的数组大小。要知道在C语言中想在程序运行的时候再去肯定数组大小是不能完成的。然而在c++中就能够实现。文章源自微观生活(93wg.com)微观生活-https://93wg.com/18826.html

编译以及运行代码以后咱们手动输入要创立的数组大小,在没输入以前,咱们的new是没有去申请以及分配内存地址的,当输入5后n的值是5 这时候候new[n]就知道申请出5个内存地址。文章源自微观生活(93wg.com)微观生活-https://93wg.com/18826.html

当咱们申请的内存地址不需要的时候咱们需要将它释放出来,文章源自微观生活(93wg.com)微观生活-https://93wg.com/18826.html

在释放的时候不要去释放已经释放过的地址,由于这样做的结果不肯定,象征着可能什么情况都会产生。使用delete的时候咱们需要记住下列几点:文章源自微观生活(93wg.com)微观生活-https://93wg.com/18826.html

1、不要使用delete来释放不是new申请的空间。文章源自微观生活(93wg.com)微观生活-https://93wg.com/18826.html

2、不要使用delete释放同一块内存两次。文章源自微观生活(93wg.com)微观生活-https://93wg.com/18826.html

3、如果使用new [ ] 为数组分配内存,则应使用delete [ ]来释放。文章源自微观生活(93wg.com)微观生活-https://93wg.com/18826.html

4、如果使用new [ ]为一个实体分配内存,则使用delete(没有方括号)来释放。文章源自微观生活(93wg.com)微观生活-https://93wg.com/18826.html

5、对空指针使用delete是允许的。

以上就是微观生活(93wg.com)关于“C++中使用new申请内存来实现动态数组”的详细内容,希望对大家有所帮助!

 
小微
  • 版权声明: 本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:81118366@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
  • 转载请务必保留本文链接:https://93wg.com/18826.html