再出发

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2014年3月26日

摘要: 1、先说内存分配的三种方式(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,全局静态变量,局部静态变量。 (2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。例如局部变量。(3)从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由我们决定,使用非常灵活,但问题也最多。类的静态成员变量和函数中的静态变 阅读全文
posted @ 2014-03-26 16:51 小神你好 阅读(1233) 评论(0) 推荐(0) 编辑

摘要: sizeof整理来自http://blog.csdn.net/w57w57w57/article/details/6626840(0)sizeof是运算符,不是函数;(1)sizeof不能求得void类型的长度;(2)sizeof能求得void类型的指针的长度;32位系统,sizeof(void*) 值为4,及32/8 = 4Byte。64位系统则为64/8 = 8Byte。(3)sizeof能求得静态分配内存的数组的长度!char a[] = "abcd"; //sizeof(a)值为5,字符串数组末尾有'\0'char b[10] = "abc 阅读全文
posted @ 2014-03-26 15:03 小神你好 阅读(830) 评论(0) 推荐(0) 编辑

摘要: 1、引用的说明引用指的是对一个对象的引用。引用和用来初始化引用的变量指向的是同一块内存,因此通过引用或者变量可以改变同一块内存中的内容。引用一旦初始化,它就代表了一块特定的内存,再也不能代表其他的内存。n是m的一个引用(reference),m是被引用物(referent)。int m;int &n = m;n相当于m的别名(绰号),对n的任何操作就是对m的操作。所以n既不是m的拷贝,也不是指向m的指针,其实n就是m它自己。2、引用的规则:(1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。(2)不能有NULL引用,引用必须与合法的存储单元关联(指针则可以是NULL)。 阅读全文
posted @ 2014-03-26 15:03 小神你好 阅读(218) 评论(0) 推荐(0) 编辑