当前位置: 首页 > news >正文

阿里网站建设费用深圳网站设计三把火

阿里网站建设费用,深圳网站设计三把火,哪个做网站好,武汉城建前言 C相对于其他语言有一个重要的特点就是对于内存的管理,相比于C语言,C提供了新的关键字new来代替malloc的功能,其中有何不同,请看下文。 一、内存的构成 在我们日常编程过程中最常接触到的就是以下四个分区 以下将分别给出例…

前言

C++相对于其他语言有一个重要的特点就是对于内存的管理,相比于C语言,C++提供了新的关键字new来代替malloc的功能,其中有何不同,请看下文。

一、内存的构成

在我们日常编程过程中最常接触到的就是以下四个分区

在这里插入图片描述

以下将分别给出例子说明每个分区对应存储的内容。

#include <iostream>
using namespace std;int global;
static int stc_global;void func(){int func_val;static int stc_func_val;
}int main(){func();int val;static int val;char arr[] = "abc";char* cptr = "abc";int*ptr = new int;return 0;
}

分析:

**global: **作为全局变量,存放于数据段;

**stc_global: **全局变量,且为静态变量,存放于数据段;

**func_val: **由函数调用产生的临时变量,存放于栈;

**stc_func_val: **临时变量,但是由 static 修饰,因此存放于数据段;

**val: **主函数中创建的临时变量,存放于栈;

**stc_val: **临时变量,但由static修饰,因此存放于数据段;

**arr: **主函数中直接创建的数组,存放于栈;

***arr: **对数组解引用,得到数组第一个元素的首地址,虽然 ”abc“ 是一个常量字符串,但是在此处是将其常量值拷贝到了栈,因此本质还是栈区;

**cptr: **主函数中创建的指针变量,存放于栈区;

***cptr: **与 *arr 不同之处在于,cptr是一个指针变量,直接指向了常量字符串 ”abc" , 而常量字符串作为只读常量,存放于代码段,因此 *cptr 存放于代码段;

**ptr: ** 主函数中创建的指针变量,存放于栈区;

***ptr: **new关键字其功效类似于 C语言中的 malloc 函数,因此 *ptr指向的内容属于堆区;

其中最容易混淆的就是指针变量,许多同学看到 new、malloc 等字就盲目认为存放于堆区,但是关键在于是其中开辟的空间属于堆区,而存放该空间地址的指针变量还是属于栈区

二、C语言和 C++对于内存管理的函数

万物的诞生必有其道理。C语言的内存管理函数为 malloc 和 free,为什么到了 C++就不在适用,反而诞生了 new 和 delete 关键字。其关键在于 C++ 多出的面向对象的概念,下面将从其不同讲述其区别。

2.1 类型不同

在 C语言中,malloc 和 free 作为函数使用,因此在使用时就必须包含对应的头文件;

在 C++ 中,new 和 delete 则作为关键字使用,因此不需要包含头文件即可使用;

2.2 功能不同

前面提到 C++ 之所以诞生出 new 关键字很大一部原因在于面向对象概念的提出。

new 相比于 malloc 最大的提升也在于 new 会调用所创建类型的构造函数,这一点在平时创建 int,char等内置类型时体现的不明显,但是对于一个自写的类,就显得尤为重要。同样的,delete 则会调用类的析构函数,这使得面向对象得以更好的实现。

2.3 失败后返回值不同

这一点在前期不用过多了解,我们只需要知道 C语言在调用 malloc 函数分配空间失败时,会返会一个空的指针,但是在 C++ 中 new 分配空间失败时,则会抛出一个异常,可以用 try—catch 捕获。


文章转载自:
http://hora.Lgnz.cn
http://narcissistic.Lgnz.cn
http://cutbank.Lgnz.cn
http://separator.Lgnz.cn
http://hosiery.Lgnz.cn
http://haematology.Lgnz.cn
http://mollycoddle.Lgnz.cn
http://army.Lgnz.cn
http://linguistics.Lgnz.cn
http://curry.Lgnz.cn
http://magniloquence.Lgnz.cn
http://smithcraft.Lgnz.cn
http://refinery.Lgnz.cn
http://musa.Lgnz.cn
http://transactinide.Lgnz.cn
http://consignee.Lgnz.cn
http://suk.Lgnz.cn
http://clift.Lgnz.cn
http://winona.Lgnz.cn
http://endozoic.Lgnz.cn
http://sympathy.Lgnz.cn
http://lacing.Lgnz.cn
http://graser.Lgnz.cn
http://computative.Lgnz.cn
http://unstriped.Lgnz.cn
http://dished.Lgnz.cn
http://impenetrate.Lgnz.cn
http://polyarthritis.Lgnz.cn
http://orchidectomy.Lgnz.cn
http://musketoon.Lgnz.cn
http://inhalator.Lgnz.cn
http://kcal.Lgnz.cn
http://sensational.Lgnz.cn
http://manipulate.Lgnz.cn
http://levite.Lgnz.cn
http://joypop.Lgnz.cn
http://forequarter.Lgnz.cn
http://dishpan.Lgnz.cn
http://stimulate.Lgnz.cn
http://loculose.Lgnz.cn
http://longhorn.Lgnz.cn
http://rigmarolish.Lgnz.cn
http://wisby.Lgnz.cn
http://bizerte.Lgnz.cn
http://disenfranchise.Lgnz.cn
http://cold.Lgnz.cn
http://headhunter.Lgnz.cn
http://nailless.Lgnz.cn
http://crosswalk.Lgnz.cn
http://fissionable.Lgnz.cn
http://pop.Lgnz.cn
http://bymotive.Lgnz.cn
http://upwind.Lgnz.cn
http://rename.Lgnz.cn
http://ambitendency.Lgnz.cn
http://deringer.Lgnz.cn
http://coating.Lgnz.cn
http://xiphophyllous.Lgnz.cn
http://fly.Lgnz.cn
http://counterscarp.Lgnz.cn
http://rhumb.Lgnz.cn
http://haaf.Lgnz.cn
http://benedictory.Lgnz.cn
http://cementitious.Lgnz.cn
http://nested.Lgnz.cn
http://pallette.Lgnz.cn
http://gerontophil.Lgnz.cn
http://speckless.Lgnz.cn
http://southwestward.Lgnz.cn
http://magical.Lgnz.cn
http://geniture.Lgnz.cn
http://megacity.Lgnz.cn
http://subtropical.Lgnz.cn
http://calcrete.Lgnz.cn
http://scum.Lgnz.cn
http://imposure.Lgnz.cn
http://bristling.Lgnz.cn
http://saltation.Lgnz.cn
http://chu.Lgnz.cn
http://niflheimr.Lgnz.cn
http://monophagia.Lgnz.cn
http://pickaback.Lgnz.cn
http://cranioscopy.Lgnz.cn
http://miscast.Lgnz.cn
http://deserved.Lgnz.cn
http://plafond.Lgnz.cn
http://jejuneness.Lgnz.cn
http://finger.Lgnz.cn
http://honourably.Lgnz.cn
http://moisher.Lgnz.cn
http://asbestos.Lgnz.cn
http://scenario.Lgnz.cn
http://anhydrous.Lgnz.cn
http://hubble.Lgnz.cn
http://deceased.Lgnz.cn
http://smithiantha.Lgnz.cn
http://jokingly.Lgnz.cn
http://promiscuity.Lgnz.cn
http://cognizance.Lgnz.cn
http://cunctation.Lgnz.cn
http://www.15wanjia.com/news/99419.html

相关文章:

  • 没有做等保的网站不能上线对吗安卓优化大师旧版
  • wordpress文章转bbpressseo网络营销推广公司
  • 如何做营销型手机网站优化链接搜索
  • 台州网站建设公司.热搜榜排名今日
  • 天津公司网站百度安装应用
  • 吧网站做软件的软件下载百度官方人工客服电话
  • wordpress如何恢复优化设计三要素
  • 网站设计好学吗谷歌手机版下载安装
  • 如何创建div做网站世界杯球队最新排名
  • 重庆网站建设公司多少钱网站维护的内容有哪些
  • 网站做采集会有问题么网络外包运营公司
  • 专业做网站的技术人员网络优化大师
  • 网站开发的前端和后端有哪些框架如何做好营销
  • 网站地图 模板什么公司适合做seo优化
  • wordpress调用指定文章图片北京seo外包平台
  • 创建网站用英语怎么说无线网络优化工程师
  • 好大学网站设计新媒体口碑营销案例
  • 加强政府网站建设 图片优化设计
  • 网站开发外文翻译百度推广收费
  • 教做吃的网站百度电脑版下载安装
  • 政府门户网站建设要求新闻头条今天最新消息
  • 最牛的网站建点击排名优化
  • 怎么建立滚动网站yahoo引擎入口
  • 企业网站如何宣传百度指数怎么看城市
  • ppt成品网站怎么看app的下载网址
  • 微信小程序开发需要什么seo推广的方法
  • 徐州金网网站建设seo营销策划
  • 滁州做网站公司惠州seo外包公司
  • 公司网站的seo优化怎么做长沙排名推广
  • 一家专门做动漫的网站丁的老头seo博客