C++中的new VS C语言中的malloc.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C中的newVSC语言中的malloc

动作不同:在C++中,new一个对象时,程序完成对象的空间的分配的同时,构造函数也被调用,类似,delete一个对象时,对象的空间被释放的同时析构函数也被调用。在C中,malloc和free 则没有构造函数和析构函数被调用这个动作。当然,在没有特定的构造函数或析构函数时,C++也没有这个动作。关于重载:在C++中,对于任何非数组的空间分配,我们可以通过定义函数名相同但参数不同的构造函数完成对构造函数的重载,而对于数组的空间分配,就只能使用默认构造函数了,若你试图去开辟一个没有默认构造函数的数组,Compiler会出错。在C中,自然是没有重载这个事情了。返回值不同:在C中,malloc返回一个void *指针,需要你强制指针类型转换在C++中,你直接new一个就好。注意,对于基本类型,这个差别是二者唯一的差别,当然不建议在C++中使用malloc+强制类型转换创建基本数据类型或者对象。定义不同: new是操作符 malloc是函数异常处理方式不同: new抛出异常 malloc返回NULL 分配空间单位不同: ... by chriszeng87 2011-09-22 回复 (0)相关讨论转:C++学习重点分析一、#include “filename.h”和#include 的区别 #include “filename.h”是指编译器将从当前工作目录上开始查找此文件 #include 是指编译器将从标准库目录中开始查找此文件二、头文件的作用加强安全检测通过头文件可能方便地调用库功能,而不必关心其实现方式三、* , 修饰符的位置对于*和修饰符,为了避免误解,最好将修饰符紧靠变量 ...by SpringArt 2007-02-26 回复 (0)我来学C++二我的第一个C++类#include iostream.h//导入头文件 class Point{//定义类 /* 类的定义可以用class 和struct来定义 struct定义的类的成员函数和成员变量默认为public class 定义的类的成员函数和成员变量默认为pritive */ public: int x; int y; Point(){//构造函 ...by zhaojuan8 2009-03-17 回复 (2)从main.c开始走进Ruby-登上调试 ...我想更深入的了解Ruby内部的实现,出发点或许过于天真, ? 我想了解下这门语言的实现,从中或许可以学习到某些思路,比如:如果我们要设计另外一种动态语言该如何去下手,如何将其他语言的特性融合进Ruby或者我们要设计的语言,特定领域的特定语言该如何设计(不要一门又广又全的语言,但又不是DSL)。题目是《从main.c开始走进Ruby》,那我们需要以下的准备工作 ...by CharlesCui 2010-08-18 回复 (14)我也研究下云风的垃圾回收库在网上闲逛时发现了一个云风写的垃圾回收库和源码学习文档,我也一起研究一下,一方面弥补一下我对gc知识理解的不足,另一方面督促自己把这个不足1000行代码确足够诡异的迷你gc库看完,搞清楚原理。参考:源码地址:/svn/trunk/ 另外一位同学写的分析文章:/darkdestiny/archi ...by bachmozart 2009-03-21 回复 (3)相关新闻JavaScript2.0 :抢先尝鲜JavaScript2.0 :抢先尝鲜作者 Rob Gravelle 作为一个开发者和作家,我的一部分工作就是跟随web世界最新发展潮流——不管是关于公司合并、在线购物潮流、或者是编程技巧。我承认如今很难跟上业界里发生的所有事情,但是有个四处流传的小道消息却吸引了许多的目光:JavaScript2.0提案。作为新的JavaScript2.0\EMCAScript 4.0计划于2009年终稿,但是日 ...by hite 2009-08-18 回复 (47)Scala和设计模式? 在当前软件设计中最流行的要算GoF这本书中提出的各种设计模式。很多人认为,设计模式对于程序语言(特别是c++/Java)本身的不足之处或多或少有一些弥补,不过如果语言足够强大,模式也许没有必要。下面Peter Norvig的一个例子就非常有代表性。在有些语言中,使用设计模式在使代码变得自然和简洁,但是模式本身使用方便性也很重要。不妨让我们来看看Scala(一种类似Ruby/Lisp之类的语 ...by yuesc 2008-04-01 回复 (4)Varnish 2.0.1 发布:高性能的HT ...Varnish 2.0.1 给我们带来很多新的特性: ? ESI 支持轮训或随机负载均衡支持后端健康检查新型对象过期检查 OpenSolars 支持修复一些小错误 ? 新版本的Varnis

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档