上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: 在冯诺依曼的体系结构中,一个进程必须有:代码段,堆栈段,数据段。 进程的虚拟地址空间图示如下: 堆栈段: 1. 为函数内部的局部变量提供存储空间。 2. 进行函数调用时,存储“过程活动记录”。 3. 用作暂时存储区。如计算一个很长的算术表达式时,可以将部分计算结果压入堆栈。 数据段(静态存储区): 阅读全文
posted @ 2019-06-24 08:41 李湘沅 阅读(1460) 评论(0) 推荐(0) 编辑
摘要: 快排: Parition函数用于进行一次快排,本次快排将某个元素放在它应该呆在的位置pos。pos左侧全比它小,pos右侧全比它大。 Parition中,设置low指针与high指针,以待排元素为标杆,判断high指向元素是否大于待排元素,若小于则与low指向的元素交换,并切换到low指针。low指 阅读全文
posted @ 2019-06-21 11:58 李湘沅 阅读(768) 评论(0) 推荐(0) 编辑
摘要: 序列式容器: 1.vector: 数据结构: 数据成员只有三个:1.iterator start;//指向目前正在使用的空间头 2.iterator end;//指向目前正在使用的空间尾 3.iterator end_of_storage;//指向可用空间尾 迭代器: vector的迭代器属于随机访 阅读全文
posted @ 2019-06-20 22:34 李湘沅 阅读(810) 评论(0) 推荐(0) 编辑
摘要: 待写 阅读全文
posted @ 2019-06-20 20:05 李湘沅 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 为了解决内存碎片的问题,设计了双层级配置器: 第一级直接使用malloc和free配置与释放空间。 第二级采取两种模式:若请求配置区块大于128bytes,则使用第一级配置器的方式;若小于等于128bytes,为了减少内存碎片,使用内存池的方式。 根据_USE_MALLOC定义决定是采取第一级配置器 阅读全文
posted @ 2019-06-20 20:04 李湘沅 阅读(320) 评论(0) 推荐(1) 编辑
摘要: 指针和引用的区别: 引用不是一个对象,所以它没有实际的地址。指针是一个对象,它有实际的地址,所以我们可以定义指向指针的指针,但是绝对不能定义指向引用的指针。 引用在其生命周期中不能改变所绑定的对象,但是指针可以在其生命周期内先后指向不同的对象。 引用在定义的时候必须进行初始化,而指针可以不必进行初始 阅读全文
posted @ 2019-06-19 21:51 李湘沅 阅读(592) 评论(0) 推荐(0) 编辑
摘要: 普通情况下,初始化和赋值好像没有什么特别去区分它的意义。 int a=100;和int a;a=100间仿佛没有任何区别,但是当c++中引入类后,情况变得有些复杂。 首先理清下构造函数的一些东西。 关于构造函数,前面有两篇随笔写了默认构造函数和拷贝构造函数,其实还包括参数为一些成员变量属性的构造函数 阅读全文
posted @ 2019-06-19 10:44 李湘沅 阅读(4460) 评论(0) 推荐(1) 编辑
摘要: 成员初始化列表:用于辅佐构造函数(可以是默认构造函数),对成员变量进行赋值。 一般情况下,使用成员初始化列表与在构造函数内部对成员进行赋值没有什么好坏之分,使用哪种方式对对象进行初始化全凭心情。 但是,在以下四种情况的成员变量中,只能使用成员初始化列表进行初始化: 1.当初始化一个const mem 阅读全文
posted @ 2019-06-19 10:29 李湘沅 阅读(403) 评论(0) 推荐(0) 编辑
摘要: UNP中第72~73页中将read函数封装为了readn与readline函数。 readn用于读取n个字节到vptr中,readline用于读取一行数据到vptr中。 为什么要将read函数封装为readn与readline呢? 这是因为在文件类型为socket文件时,使用read和write进行 阅读全文
posted @ 2019-06-18 23:07 李湘沅 阅读(476) 评论(0) 推荐(0) 编辑
摘要: 拷贝构造函数不同于默认构造函数,class X的拷贝构造函数要求传递参数中必须有class X对象,当然参数列表可以是多参数的,但是第一个参数必须是class X类,且第二个及后续参数需要给与默认值。 默认的拷贝构造函数的形式: 当class没有提供一个显式(explicit)的拷贝构造函数时,将有 阅读全文
posted @ 2019-06-18 10:50 李湘沅 阅读(640) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 下一页