摘要: 1,protected跟private相同,基类对象不能访问基类的protected成员。 2,派生类中可以访问基类的protected成员,就像访问自己的数据成员一样。 有public, protected, private三种继承方式,它们相应地改变了基类成员的访问属性。 1.public继承: 阅读全文
posted @ 2018-03-14 01:16 AFreeMan 阅读(905) 评论(0) 推荐(0) 编辑
摘要: 1,函数声明(.h)不要指定形参的默认值,在函数定义中指定。 2,指定了一个形参的默认值,后面的形参全都要指定默认值。 3,调用函数时,如果未传递参数的值,则会使用默认值,如果指定了值,则会忽略默认值,使用传递的值。如果实际参数的值留空,则使用这个默认值。 阅读全文
posted @ 2018-03-14 00:38 AFreeMan 阅读(6574) 评论(0) 推荐(1) 编辑
摘要: C++定义构造函数必须使用初始化列表的场合 1. 如果类中有一个成员是一个引用, 由于引用必须给予初始值, 因此, 引用必须使用初始化列表.2. 同理, const属性必须给予初始值, 必须使用初始化列表.3. 继承类中调用基类初始化构造函数, 实际上就是先构造基类对象, 必须使用初始化列表. 阅读全文
posted @ 2018-03-13 23:28 AFreeMan 阅读(165) 评论(0) 推荐(0) 编辑
摘要: pid_t fork(void) 父进程创建一个子进程,父进程和子进程的PCB完全相同,除了pid,具有相同的用户态代码和数据,占用不同的内存地址。 before fork0 --> parent0 --> child1 --> parent1 --> child2 --> parent2 --> 阅读全文
posted @ 2018-03-11 12:52 AFreeMan 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 联合union 联合和结构体的区别:结构体为每一个成员分配存储空间,而联合体的内存大小采取最长成员所需的长度,联合变量只存在一个成员变量,所有成员共享同一片内存。 第二次为联合赋值会覆盖第一次赋值。 一个联合变量可以在不同时间存储多种类型的变量,节省内存。 union的字节数目是16-1 -1 -1 阅读全文
posted @ 2018-03-07 20:31 AFreeMan 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 字节序大端小端是针对超过一个byte的数据类型在内存中的存储布局来讲的。对于小端处理器,如果要寻址一个word型数据,处理器首先由地址总线发出地址,之后对于由32位数据总线(32位处理器)返回的数据,小端处理器认为0-7位数据线是低端数据,而24-31位数据线为高端数据。相反,对于大端处理器,寻址一 阅读全文
posted @ 2018-03-07 18:13 AFreeMan 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 迭代器存有它们所指的特定容器的状态信息。迭代器的表现类似一个指向元素的指针,而运算符*被重载,以返回那个元素的引用。使用一个iterator指向一个可以修改的容器元素,const_iterator指向一个不可以修改的容器元素。迭代器分类:随机访问迭代器,双向迭代器,前向迭代器,输出迭代器,输入迭代器 阅读全文
posted @ 2018-03-03 20:36 AFreeMan 阅读(93) 评论(0) 推荐(0) 编辑
摘要: STL:容器(模板数据结构),迭代器,算法。 当把一个元素插入到容器中时,便生成了这个元素的副本,因此,元素类型应该支持拷贝构造函数和赋值操作。 array:固定大小的数组。vector:动态数组,当vector已满时,会重新分配一个更大的连续内存,把原先的数据拷贝进去,并释放原来的vector。适 阅读全文
posted @ 2018-03-03 20:35 AFreeMan 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 如果一个异常发生在成功分配内存后,但在delete语句执行之前,就会发生内存泄漏。 C++标准库提供了模板类uique_ptr来处理内存泄漏。 一个类uique_ptr的对象维护了指向动态分配内存的一个指针,当一个uique_ptr对象的析构函数被调用时,它将对其指针数据成员执行delete操作。 阅读全文
posted @ 2018-02-25 16:06 AFreeMan 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 已经不用的内存,但没有释放,造成内存泄漏。内存已经释放,但是指向它的指针没有置空或销毁,造成空悬指针。 智能指针:指针变量销毁,它所指向的内存会自动释放。 unique_ptr是一种定义在<memory>中的智能指针(smart pointer)。它持有对对象的独有权——两个unique_ptr不能 阅读全文
posted @ 2018-02-25 15:24 AFreeMan 阅读(107) 评论(0) 推荐(0) 编辑