摘要: (1)管理方式:堆中资源由程序员控制(通过malloc/free、new/delete,容易产生memory leak),栈资源由编译器自动管理。 (2)系统响应:对于堆,系统有一个记录空闲内存地址的链表,当系统收到程序申请时,遍历该链表,寻找第一个大于所申请空间的空间的堆结点,删除空闲结点链表中的 阅读全文
posted @ 2018-05-17 02:01 一路一沙 阅读(5297) 评论(0) 推荐(0) 编辑
摘要: C/C++编译的程序所占用内存区域一般分为以下5个部分: 栈区(stack):由编译器自动分配和释放,用来存放函数的参数、局部变量等。其操作方式类似于数据结构中的栈。 堆区(heap):一般由程序员分配和释放(通过malloc/free、new/delete),若程序员没有释放,则程序结束时由操作系 阅读全文
posted @ 2018-05-17 01:08 一路一沙 阅读(3676) 评论(0) 推荐(0) 编辑
摘要: (1)C语言中struct与class的区别:struct只作为一种复杂数据类型定义的结构体,不能用于面向对象编程;C语言没有class关键字。 (2)C++语言中struct与class的区别:对于成员访问权限以及继承方式,class默认都是private,struct默认是public;clas 阅读全文
posted @ 2018-05-17 00:18 一路一沙 阅读(2706) 评论(0) 推荐(0) 编辑