C++学习体会--内存管理

原创 2006年05月26日 16:41:00

看了网上别人关于指针的文章,总结了以下几点

1.内存分配的三种方式

  (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。

  (2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。

  (3) 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由我们决定,使用非常灵活,但问题也最多。

2.使用原则

(1)用malloc或new来申请内存,应该用if(p==NULL) 或if(p!=NULL)进行防错处理。

(2)无论用何种方式创建数组,都要赋初值

(3)动态内存的申请与释放必须配对,程序中malloc与free的使用次数一定要相同(new/delete同理)。

(4)free或delete释放了内存后,将指针设置为NULL。避免产生“野指针”

(5)自己使用的内存最好还是自己申请和释放。

 

个人感觉C++语言过于冗长和繁杂,把本来很简单的东西搞得很复杂

高效团队建设与管理 学习心得

高效团队建设与管理----培训心得 企业文化:     高效团队首要特质就是具有灵魂,灵魂在企业内部可以被定义为企业文化;一群人如果具有共同的理想,共同的未来,共同的思考问题的途径和共...
  • yinxianluo
  • yinxianluo
  • 2014年04月16日 13:29
  • 2893

c++程序设计心得体会一

C语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现...
  • whChina
  • whChina
  • 2016年04月28日 14:26
  • 2552

javaweb学习总结(体会)

这篇文章虽说是叫《学习javaweb总结》,其实更多的是自己的心得体会,真正涉及技术的问题还不是很多,关于技术的总结,会在后续发表。本文虽然写完很久,但是一直没有整理,加上对于在网上发表文章也是刚刚开...
  • u014625500
  • u014625500
  • 2014年04月13日 20:52
  • 1607

C++学习笔记之---内存管理

C++学习笔记之---内存管理
  • u012965373
  • u012965373
  • 2015年07月10日 14:36
  • 991

C++学习笔记七——内存管理机制

博文地址:http://blog.csdn.net/u01340105 Windows内存管理器 工作集(WorkingSet):进程虚拟空间中实际被映射到物理内存页面的那部分被称为工作集; ...
  • u013401056
  • u013401056
  • 2016年12月05日 21:03
  • 151

C++学习笔记02之三大函数和栈,堆与内存管理

一、三大函数 因为Class的另一种分类: Class with pointer member(s):string 字符串 在string.h里便有三个特殊函数(The Big Three):拷贝构...
  • menglanyingfei
  • menglanyingfei
  • 2016年09月17日 14:31
  • 267

C++学习之六、有效的内存管理

有效的内存管理   在程序中使用动态内存优点: 1. 动态内存可以在不同的对象与函数之间共享。 2. 动态分配的内存空间的大小可以在运行时确定。   预备知识: int i = 7; ...
  • heyongluoyao8
  • heyongluoyao8
  • 2011年11月29日 20:49
  • 1464

C/C++学习笔记七(内存管理)

相对于其他语言,C、C++的一大利器便是可以非常灵活的控制内存。与此同时,另一方面灵活的带来的要求也是十分严格,否则会出现令人头疼的分配错误、内存越界、内存泄漏等众多内存问题。程序内存结构C程序的内存...
  • u013230511
  • u013230511
  • 2017年08月10日 01:41
  • 310

C++学习之动态内存管理常见三种错误

C++中动态内存管理经常出现错误,现在我们通过简单的例子对其进行梳理。 1.      动态创建对象的方法,用new来创建,以整型为例 int * pi = new int; //pi poi...
  • qingsong3333
  • qingsong3333
  • 2012年09月24日 21:13
  • 862

小满的C++学习心得(2) 说说类构造函数和动态内存管理

早就听说C++难就难在它的内存管理,new和delete使用的一不小心轻则内存泄漏,重则损坏堆内存抛出异常。C++异常不同于一般的bug,定位和跟踪颇为困难,最近我在做《C++ Primer Plus...
  • mlyboy
  • mlyboy
  • 2011年03月29日 23:59
  • 618
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++学习体会--内存管理
举报原因:
原因补充:

(最多只允许输入30个字)