C&C++
novocane
这个作者很懒,什么都没留下…
展开
-
C++中delete和delete[]的区别
转自:http://www.cnblogs.com/charley_yang/archive/2010/12/08/1899982.html转载 2014-10-07 22:52:13 · 261 阅读 · 0 评论 -
C/C++内存泄漏及检测
原文出处:http://www.cnblogs.com/skynet/archive/2011/02/20/1959162.html转载 2014-10-08 22:33:37 · 271 阅读 · 0 评论 -
C/C++内存分配
文章出处:未知。转载 2014-10-08 22:26:55 · 313 阅读 · 0 评论 -
C/C++内存分配管理
C/C++程序定义了五个内存区间:1、栈区(stack)2、堆区(heap)3、全局区(静态区)(static)4、文字常量区(data):存储常量字符串;以指针形式定义的字符串存于此区5、代码区(text)还有另外一种分法:栈、堆、全局/静态区、自由存储区(bss)(说malloc分配的内存就位于此区)、常量存储区转载 2014-10-10 21:54:41 · 312 阅读 · 0 评论 -
内存泄漏以及常见的解决方法
之所以撰写这篇文章是因为前段时间花费了很大的精力在已经成熟的代码上再去处理memory leak问题。写此的目的是希望我们应该养成良好的编码习惯,尽可能的避免这样的问题,因为当你对着一大片的代码再去处理此类的问题,此时无疑增加了解决的成本和难度。准确的说属于补救措施了。1. 什么是内存泄漏(memory leak)? 指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指转载 2014-10-10 22:17:05 · 364 阅读 · 0 评论 -
指针delete后要设置为NULL
众所周知,最开始我们用new来创建一个指针,那么等我们用完它之后,一定要用delete将该指针删掉。但是,值得注意的是,难道就仅仅是删除这个指针这么简单的么?下面,我们用一个程序来说明这个问题:#include using namespace std;int main() { int *p=new int; *p=3; cout<<"将3赋给p的地址后,指针p读转载 2014-10-10 22:27:20 · 3617 阅读 · 3 评论 -
C/C++中函数参数传递详解
昨天看了内存管理的有关内容,有一点了解,但不是很深入,发现之前写代码时有很多细节问题没有注意到,只知道这样做可以实现功能,却不知道为什么可以这样,对于采用自己的方法造成的隐患也未知,更不晓得还有其他方法可以实现,我们知道C++强大的一个原因是因为对于一个问题的答案多种解答方法或思路,我想着也许就是它难学的原因。因为你只知道一种或极少数的实现方法,却不知道其他的实现方法,换句话说,就是对这个东西很掌转载 2014-10-14 21:12:17 · 338 阅读 · 0 评论 -
C语言中do...while(0)的妙用
在linux内核代码中,经常看到do...while(0)的宏,do...while(0)有很多作用,下面举出几个:1、避免goto语句:通常,如果一个函数开始要分配一些资源,然后如果在中途遇到错误则要退出函数,当然,退出前要释放资源,我们的代码可能如下:转载 2014-10-18 22:30:25 · 471 阅读 · 0 评论