上一页 1 ··· 3 4 5 6 7
摘要: 1. 进程: (1)进程模型:一个进程就是一个程序的执行实例,程序是静态的,进程是动态的。一个进程有一个地址空间和一个控制线程,其中地址空间包含有:程序计数器、寄存器、变量的当前值。当一个进程被挂起时,进程的物理程序计数器值被保存在该进程的程序计数器中。下次进程运行时,再从程序计数器中取出计数值装入 阅读全文
posted @ 2018-01-08 13:55 IvanB.G.Liu 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 1.Member Funcition的各种调用方式 Nonstatic member funcion: Nonstatic member funcion: 编译器将其转为nonmember Function的形式,转化步骤是: (1)添加额外的参数 this指针 (2)对每一个nonstatic d 阅读全文
posted @ 2018-01-07 14:10 IvanB.G.Liu 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 1.一个class object的内存空间,除了nonstatic data member外,还有: (1)编译器自动加的额外data member,包括vptr、bptr(指针) (2)alignment(边界校准)的需求而添加的pad空间。 2.对于nonstatic和static成员变量的存取 阅读全文
posted @ 2018-01-07 14:07 IvanB.G.Liu 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 1. 使用class封装之后的布局成本: (1)class并没有增加成本,data members直接内含在每一个class object之中,就像C struct一样。而member functions虽然被包含在class的声明之内,但是不出现在Object之中。每一个non-inline fu 阅读全文
posted @ 2018-01-05 15:53 IvanB.G.Liu 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 1. 单例模式: 单例模式是最为最常见的设计模式之一。对于任何时刻,如果某个类只存在且最多存在一个具体的实例,那么我们称这种设计模式为单例模式。 2. C++实现方法: 在类内定义一个指向类对象的静态指针pointer并在类外将其指向NULL,然后写一个判断函数getInstance(): (1)当 阅读全文
posted @ 2018-01-05 13:00 IvanB.G.Liu 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 1、使用find和count: count(k) 求出键k的出现次数 find(k) 返回第一个拥有键k的实例 multimap<int, int>::size_type cnt = testMap.count(searchItem); multimap<int, int>::iterator it 阅读全文
posted @ 2018-01-05 12:56 IvanB.G.Liu 阅读(7378) 评论(0) 推荐(0) 编辑
摘要: 1. 容器中对象拷贝高效、防剥离发生的方法: 使容器包含指针而不是对象。(ps:STL容器是在创建拷贝,相比数组,是动态创建,节省时间和空间) 2. 总是调用empty()而不是size==0来判断容器是否为空: empty()对所有STL容器都是常数时间操作,而size()对某些容器(如list) 阅读全文
posted @ 2018-01-05 12:48 IvanB.G.Liu 阅读(837) 评论(0) 推荐(0) 编辑
摘要: (1) 包含在头文件#include <iterator>中 (2) 像使用其他iterator一样使用istream_iterator 和 ostream_iterator: istream_iterator<string> start_cin(cin); //输入迭代器指向标准输入 istrea 阅读全文
posted @ 2018-01-05 12:42 IvanB.G.Liu 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 插入方法: 1. vector、list的insert用法: (1)iterator insert( iterator loc, const TYPE &val ) (2)void insert( iterator loc, size_type num, const TYPE &val ) (3)v 阅读全文
posted @ 2018-01-03 20:36 IvanB.G.Liu 阅读(2114) 评论(0) 推荐(0) 编辑
摘要: 静态多态和动态多态的区别: 静态多态:函数的相互重载,在编译期实现多态,属于早绑定。如:rect.calc(10) 和 rect.calc(10,20),在编译期间已经决定了选择运行哪个函数。编译器多态,一般通过模板的方式实现,即:在编译期间,编译器推断出模板参数,以此来确定模板函数使用哪个类对象的 阅读全文
posted @ 2018-01-03 20:21 IvanB.G.Liu 阅读(667) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7