c++中动态申请空间的它们——new和delete
今天重点说的是delete的一个小区别~~~
c++中对new申请的内存释放方式有delete和delect[]两种方式,那么这两种方式具体该怎么理解呢?
我们都知道,在c++中用new分配内存,用delect释放内存;使用new[]分配内存,就用delete[]释放内存。具体来讲就是delect释放new分配的单个对象指针指向的内存,delete[]释放new分配的对象数组指针指向的内存。
首先给大家先介绍下new和delete的一些基础用法:
一、new
new 数据类型 ; //申请内存空间。new 数据类型 (初值); //申请内存空间时,并指定该数据类型的初值。new 数据类型 [内存单元个数]; //申请多个内存空间。new 数据类型 [内存单元个数](); //只能初始化为零
二、 delete
int* p3 = new int;delete p; //释放空间与资源int* p2 = new int[10];delete []p2; //"[]"代表长度并开辟内存
接下来我们一起来看段代码,来区别今天主要的内容delete和delete[]:
class Test
{
public:Test(int a = 0) :ma(a){std::cout << "Test::Test(int)" << std::endl;}~Test(){std::cout << "Test::~Test()" << std::endl;}
private:int ma;
};int main()
{ Test* p = new Test; //第一种delete p;//Test* p = new Test[10]; //第二种//delete []p;return 0;
}
如果运行第一种结果会是:
如果运行第二种结果是:
总结:所以我们也可以看出来第一种的new和delete只调用一次构造和析构,而第二种的new和delete是调用十次,这也是我们做题时候会遇到的一个考点。
c++中动态申请空间的它们——new和delete相关推荐
- C++ 动态申请空间
目录 C中的动态申请空间 C++动态申请空间 new一个整型 申请空间的同时,给定初始化值 new 数组 返回的是首元素的首地址 释放数组空间时,不管是几维数组,只需要在指针前加一个[] new 整型 ...
- 什么是指针以及如何动态申请空间
int a;int *p;第一个比较熟悉,就是定义一个整型变量.第二个就是定义了一个整型指针变量p: 1.指针有什么作用? 指针是存储一个地址!注意是地址,不是什么具体的数值. 2.指针如何才能存储变 ...
- 关于C/C++动态申请空间释放和内存泄漏问题介绍
1. 动态申请空间 1.1 基本内容 Ⅰ 动态申请的空间没有具体名称,只能通过指针间接访问(无论new还是malloc方式). Ⅱ 动态申请空间都是存放在堆中,有别于系统自动分配的空间是存放在堆栈中( ...
- 走进C++程序世界-----指针(动态申请空间和释放空间)
使用关键字NEW分配内存 在讲解分配内存之前,首先来理解下内存区划分.内存分配.常量存储区.堆.栈.自由存储区.全局区这些也是初学者容易混淆的地方.我的博客中有一篇文章描述C语言中代码分配情况,点击链 ...
- C/C++动态申请空间方式
C语言中用malloc/free: C++里用new/delete; 1:C语言动态申请一维数组: #include<stdio.h> #include<stdlib.h> i ...
- C语言如何动态申请空间(一维和二维)
C语言如何动态申请一维和二维空间呢? 这里有个小例子,看过后就很容易理解 编译环境为vs2013 #include <stdio.h> #include <stdlib.h> ...
- C/C++动态申请空间
C语言中用malloc/free: C++里用new/delete; 1:C语言动态申请一维数组: #include<stdio.h> #include<stdlib.h> i ...
- 【C语言】动态申请空间
在很多情况下,我们不知道所要建立数组的大小,而是想根据需求动态的建立数组.但是通常使用 int arr[n] 这样的写法编译器会报错,因为n是变量. int n = 10; int array[n]; ...
- linux c中动态申请二维数组,Linux C 编程详解第五篇:二维数组
二维数组 : 存储类型 数据类型 数组名[行数][列数] 列数不能够省略 , 行数可以省略 数组元素的引用 : 数组名[行标][列标] 练习 : 1.找出二维数组中的最大值, 如果有多个最大值, 找出 ...
最新文章
- linux与windos 设置 tomcat 内存
- [译] 曝光!UX 行话大全
- 洛谷P4768 [NOI2018]归程 [可持久化并查集,Dijkstra]
- 惊现漏洞门!大众汽车被曝安全风险,1分钟内即可轻易解锁
- elasticsearch aggregations_elasticsearch 笔记三 之聚合查询之分组计数、平均数、最大值、script、最小值、总和...
- Unity模拟行星轨道(一)
- 在线教育凛冬将至!强敌环伺的尚德机构,能否突出重围?
- 2019第十届蓝桥杯A组决赛(国赛)A题(三升序列)
- 董路太有才了--春晚零点报时出错技术分析
- python方位角计算
- Dubbo线程池耗尽问题
- Android 拍照:如何使用已有相机应用捕获图片(Taking Photos Simply
- 线程定义, 实现方式及代码实现.
- 记忆mySQL增删改查
- FPGA自学:利用主时钟产生周期方波
- 算法:食物链(并查集)
- java 对应sql驱动版本_有关sqlserver的 jdbc驱动版本整理
- unity 获取选中的目录_Unity的目录管理
- 带你了解并验证基金定投,附Python代码
- 商业图书阅读的原则以及一些方法习惯的养成
热门文章
- 计算机绘图自考知识点,计算机绘图(电子AD)自考大纲-08年9月.doc
- asp文本框输入控制是5的倍数_DL知识拾贝(Pytorch)(五):如何调整学习率
- 航空公司大数据建设的思考
- APP高曝光率到智能化投放,SDK猫眼信息流广告的投放策略!
- Palm OS、Windows CE及Linux OS之比较
- 对照表 - 用心整理了一份国内985/211大学名单及其一流学科
- 独家揭开几项神秘SEO技术的猪八戒面纱
- 易语言QQpost加好友源码
- 在算法研究过程中如何进行算法创新
- 如何零基础入门仿真 - version 2