摘要: 一。一个对象访问普通函数和虚函数的时候,哪一个更快? 访问普通函数更快,因为普通成员函数在编译阶段已经被确定,因此在访问时直接调用对应地址的函数,而虚函数在调用时,需要首先在虚函数表中查找虚函数所在的地址,因此比普通函数要慢一些。二。什么情况之下,需要析构函数是虚函数? 首先存在类继承并且析构函... 阅读全文
posted @ 2015-10-10 21:29 jiguojing 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 一。c++中static的作用 1.隐藏:当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,static函数作用就是为了隐藏 2.可以保持变量的持久:存储在静态数据区的变量会在程序刚开始的时候进行唯一一次初始化,共有两种变量存储在静态存储区:全局变量和静态变量,但是... 阅读全文
posted @ 2015-10-10 20:44 jiguojing 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 一.深拷贝和浅拷贝? 浅拷贝是指源对象与拷贝对象共用一份实体,仅仅是引用的变量不同(仅仅是名称不同),对其中任何一个对象的改动都会影响另外一个对象,例如:一个人叫小王,后来改名小李,结果不管是小王死了还是小李死了,都是这个人死了 深拷贝:源对象与拷贝对象独立,其中任何一个对象的改动都不会对另外一... 阅读全文
posted @ 2015-10-10 19:46 jiguojing 阅读(318) 评论(0) 推荐(0) 编辑
摘要: C++中,对象的建立分为两种,一种是静态建立,如A a;另一种是动态建立,如 A *ptr=new A;静态建立:由编译器为对象在栈上分配内存,是通过直接移动栈顶指针,挪出适当的空间,然后在这片内存空间上调用构造函数形成一个栈对象,使用这种方法,直接调用类的构造函数动态建立:是通过new运算符将对象... 阅读全文
posted @ 2015-10-08 20:43 jiguojing 阅读(1106) 评论(0) 推荐(0) 编辑
摘要: 单例模式:是设计模式中比较简单的一种,适合于一个类只有一个实例的情况,比如窗口管理,打印缓冲池和文件系统单例模式特点:一.确保一个类只有一个实例被创建2.在不影响单例类的客户端的情况下允许将来有多个实例,经典的模式:懒汉式,饿汉式,登记式3.提供了一个对全局对象的全局访问指针模式:一.懒汉式:延迟加... 阅读全文
posted @ 2015-10-08 19:34 jiguojing 阅读(1970) 评论(0) 推荐(0) 编辑
摘要: #include #include #includeusing namespace std; void Swap(int &a, int &b){// 有可能swap同一变量,不能用异或版本 int t = a; a = b; b = t;}void RandomShuffle(i... 阅读全文
posted @ 2015-10-08 17:43 jiguojing 阅读(466) 评论(0) 推荐(0) 编辑
摘要: vector的数据安排以及操作方式,与array非常类似,两者唯一的区别是空间运用的灵活性,array是静态空间,一旦配置了就不能改变,如果你想要大一点的空间,就必须首先配置一块新空间,然后将原来的元素一一复制进来,再把原来的空间释放给系统。但是vector是动态空间,随着元素的增加,它的内部机制会... 阅读全文
posted @ 2015-10-08 17:33 jiguojing 阅读(7070) 评论(0) 推荐(0) 编辑
摘要: 首先肯定要先看看这两部分是不是有内存重叠?为什么?1.因为如果有内存重叠(目的地址起始位置处于源指针所指区域之中),你再从起始位置复制的话,这样目的地址改变的时候将源地址内存里面存的东西给改变了,所以必须从高地址开始复制。这样源地址总是走得比目的地址靠近低地址,也就是目的地址永远赶不上还没有复制内容... 阅读全文
posted @ 2015-10-08 16:13 jiguojing 阅读(934) 评论(0) 推荐(0) 编辑
摘要: 为什么会有虚拟内存和物理内存的区别? 正在运行的一个程序,它所需的内存是有可能大于内存条容量之和的,比如你的内存条是1G,但是你的程序需要2G的数据区,那么不是所有数据都能一起加载到内存(物理内存)中,势必有一部分数据要放到其他介质中(比如硬盘),待进程需要访问那部分数据时,再通过调度进入物理内存... 阅读全文
posted @ 2015-10-06 16:56 jiguojing 阅读(1794) 评论(1) 推荐(1) 编辑
摘要: 进程是一个动态的实体,所以它是有生命的,从创建到消亡,是一个进程的整个生命周期。一般有三个状态1.就绪态 : 进程已经获得所需的其他资源,正在申请处理器资源,准备开始执行,这种情况下,称进程处于就绪态2.阻塞态(休眠态或者等待态) 进程需要等待所需资源而放弃处理器,或者是进程不拥有处理器而且其他资源... 阅读全文
posted @ 2015-10-06 16:22 jiguojing 阅读(961) 评论(0) 推荐(0) 编辑