为普通的变量申请内存空间,可以使用下面的语法规则。

new int; //开辟一个存放整型变量的空间,返回一个指向整形数组的指针 
new int(100);  //开辟一个存放整形变量的空间,并指定其初值为100
float* p=new float(3.1415926); //开辟一个存放实数的空间,并指定该实数的初值为3.1415926, 
                                      //将返回的指向实型数据的指针赋给指针变量p

当new操作符被执行后如果有足够的内存空间,则new按分配一块内存,并返回指向该该内存起始地址的指针;

如果内存空间不够,则返回NULL

同样可以使用new来为一个数组分配内存空间,并相应的使用delete来将其释放.

Point* pt=new Point[100];

在堆上创建了一个含有100个对象的数组,并把返回的指针赋给指针变量pt。这样就在堆上为100个Point对象分配了足够的内存并为没一个对象调用了构造函数。

delete pt;  //释放数组中的第一个对象,并调用第一个对象的析构函数

delete [] pt;  //释放数组中所有对象,并为数组的所有对象调用析构函数

new和delete实际调用了malloc和free函数。但new运算符除了分配内存外,还

要调用构造函数。同理,delete会调用类的析构函数。malloc函数却只是负责分配内存,不会进行初始化类成员的工作,同样free也不会调用析构函数

转载于:https://www.cnblogs.com/mx113/articles/1603995.html

【原创】new和delete相关推荐

  1. 【原创】分布式之缓存击穿 【原创】自己动手实现静态资源服务器 【原创】自己动手实现JDK动态代理...

    [原创]分布式之缓存击穿 什么是缓存击穿 在谈论缓存击穿之前,我们先来回忆下从缓存中加载数据的逻辑,如下图所示 因此,如果黑客每次故意查询一个在缓存内必然不存在的数据,导致每次请求都要去存储层去查询, ...

  2. windows server系统,登录系统提示按下 ctrl+alt+delete

    不管是 阿里云 腾讯云 还是其他华为云 百度云等等的windows服务器,基本上都是每次在网页端的远程登陆windows系统都会提示题目中的信息.因为这些云计算厂商提供的网页端登陆,都相当于" ...

  3. 【原创】ASP.NET C# 压缩和解压缩文件、文件夹函数(测试通过)

    //注意:本文为博主原创,转载请注明出处,谢谢合作! #region 文件下载函数DownFile     /// <summary>     /// 下载文件方法     /// < ...

  4. [原创]Silverlight与PostgreSQL数据库的互操作(CURD完全解析)

    今天将为大家介绍如何让Silverlight使用PostgreSQL作为后台数据库以及CURD操作. 准备工作 1)建立起测试项目 细节详情请见强大的DataGrid组件[2]_数据交互之ADO.NE ...

  5. oracle的delete语句加速,Oracle delete语句调优一例

    接到客户的邮件,说生产环境中执行某一条delete sql语句的时间超过了3个小时.最后客户无奈取消了这次数据清理,准备今天在申请时 今天刚上上班,就接到客户的邮件,说生产环境中执行某一条delete ...

  6. 执行delete触发器及示例演示

    在写这篇文章之前,xxx已经写过了几篇关于改执行delete主题的文章,想要懂得的朋友可以去翻一下之前的文章 简介 触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动, ...

  7. (原创)基于ZedBoard的Webcam设计(二):USB摄像头图片采集+QT显示

    在(原创基于ZedBoard的Webcam设计(一):Zedboard上的USB摄像头(V4L2接口)的图片采集中,我们完成了ZedBoard上USB摄像头的单幅图片采集,采集到的图片是存储在文件系统 ...

  8. 【原创】Struts2.5.12版本中使用通配符*

    ι 版权声明:本文为博主原创文章,未经博主允许不得转载. <package name="hellodemo" extends="struts-default&quo ...

  9. PL/SQL异常处理(原创)

    Exception概述 Exception是一种PL/SQL标识符,当运行的PL/SQL块出现错误或警告,则会触发异常处理.为了提高程序的健壮性,可以在PL/SQL块中引入异常处理部分,进行捕捉异常, ...

最新文章

  1. Android --- 布局属性gravity和layout_gravity的区别
  2. centos 7 修复mysql,快速修复Centos7 系统时区!
  3. 程序员每天该做的事情
  4. python为什么这么小_同样是 Python,怎么区别这么大
  5. 挂机宝装mysql_挂机宝安装
  6. Java工作笔记-WebService使用JDK搭建WebService及调用
  7. 《neuralnetworks and deeplearning》学习笔记1-深入理解BP算法
  8. java判断字符串是子串_【Java】判断字符串是否包含子字符串
  9. 写专业硕士论文,非功能性需求分析可套模板。
  10. 自媒体文章原创度检测,提高文章通过率!
  11. GSCC呼叫中心系统
  12. iOS 多线程dispatch_async dispatch_sync(GCD)详尽总结
  13. scrapy爬取动态网页
  14. uniapp——操作成功返回首页
  15. iPhone7可以共享热点给多少设备使用呢?
  16. 小米平板4 android版本,小米平板4-4plus
  17. 用几何画板验证三角形重心定理,很方便!
  18. 如何去掉a标签的下划线及伪类样式
  19. Span<T> —— .NET Core 高效运行的新基石
  20. PBOC2.0与PBOC3.0的区别

热门文章

  1. python numpy使用
  2. golang操作mysql用例
  3. 深入理解TCP/IP协议族
  4. linux三 gdb/makefeile/io
  5. 值得阅读的C语言开源项目代码
  6. 剑指offer三:从尾到头打印链表
  7. 分享关于搭建高性能WEB服务器的一篇文章
  8. 教你打造一个Android组件化开发框架
  9. SharePoint 2013 搭建负载均衡(NLB)
  10. DirectShow基础编程 最简单的源Filter的编写步骤 (转)