摘要: 1.1内存分配方面: 堆:一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。 栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。 阅读全文
posted @ 2016-03-29 16:48 蒋鹿丸 阅读(660) 评论(0) 推荐(0)
摘要: 一、引言: 一直不太明白堆与栈到底是什么,是指一块内存区呢,还是指一种数据结构?编写程序中总提到内存分配的栈与堆的区别,静态与动态分配等,总也弄不明白,隐约知道一点,但总分不清堆与栈到底是一块内存区还是内存分配的方式,或者只是一种数据结构???跟杨惠讨论如何建立决策树的时候,她说实际上就是进栈出栈, 阅读全文
posted @ 2016-03-29 16:45 蒋鹿丸 阅读(212) 评论(0) 推荐(0)
摘要: 问题描述 编程语言书籍中经常解释值类型被创建在栈上,引用类型被创建在堆上,但是并没有本质上解释这堆和栈是什么。我仅有高级语言编程经验,没有看过对此更清晰的解释。我的意思是我理解什么是栈,但是它们到底是什么,在哪儿呢(站在实际的计算机物理内存的角度上看)? 答案一 栈是为执行线程留出的内存空间。当函数 阅读全文
posted @ 2016-03-29 16:43 蒋鹿丸 阅读(244) 评论(0) 推荐(0)
摘要: malloc的全称是memory allocation,中文叫动态内存分配,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存。 一、原型:extern void *malloc(unsigned int num_bytes); 头文件:#include <malloc. 阅读全文
posted @ 2016-03-29 15:28 蒋鹿丸 阅读(1194) 评论(0) 推荐(0)
摘要: 单链表的C++实现(采用模板类) 目录 目录 采用模板类实现的好处是,不用拘泥于特定的数据类型。就像活字印刷术,制定好模板,就可以批量印刷,比手抄要强多少倍! 此处不具体介绍泛型编程,还是着重叙述链表的定义和相关操作。 链表结构定义 定义单链表的结构可以有4方式。如代码所示。 本文采用的是第4种结构 阅读全文
posted @ 2016-03-29 15:21 蒋鹿丸 阅读(625) 评论(0) 推荐(0)
摘要: 单链表的C++实现(采用模板类) 目录 目录 采用模板类实现的好处是,不用拘泥于特定的数据类型。就像活字印刷术,制定好模板,就可以批量印刷,比手抄要强多少倍! 此处不具体介绍泛型编程,还是着重叙述链表的定义和相关操作。 链表结构定义 定义单链表的结构可以有4方式。如代码所示。 本文采用的是第4种结构 阅读全文
posted @ 2016-03-29 15:19 蒋鹿丸 阅读(122) 评论(0) 推荐(0)
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2016-03-29 15:18 蒋鹿丸 阅读(2) 评论(0) 推荐(0)