02 2016 档案
linux第1天 fork exec 守护进程
摘要:概念方面 文件是对I/O设备的抽象表示、虚拟存储器是对主存和磁盘I/O设备的抽象表示、进程则是对处理器、主存和I/O设备的抽象表示 中断 早期是没有进程这个概念,当出现中断技术以后才出现进程这个概念 分式操作系统 基于时间片轮转 进程是操作系统对资源的一种抽象,一个进程:代码段、数据段、堆栈段、+进
阅读全文
选择,插入,冒泡排序思想
摘要:选择:每一次拿第i个元素与其后面的元素相比,符合条件交换 插入:每个元素都与其在前面的每个元素相比,符合条件,前面的元素后移,空出来的位置插入这个元素.直至最前面. 冒泡:相邻元素比较,符合条件就交换,直至最后面,第二次进行比较的时候,比较到倒数第二个元素.以此类推.
阅读全文
数据结构中链式存储的注意点(线性与栈)
摘要:当传递数据为复杂类型数据时,可以在业务层中直接将业务数据首地址传递进底层,底层可以直接偏移四个字节的方式将业务层的元素串连起来. 底层可以直接使用业务层所分配的内存空间, 当传递数据为基础类型数据时,以上的方式就不可取了,需要采取另一种思想,就是将在底层新建一个节点结构,一个指针域,一个数据域,将业
阅读全文
线性表的两种存储方式解析.
摘要:顺序存储: typedef struct _tag_LinkNode { int length; int capacity; void **node; }Link; 用以上结构体表达,length表示线性表目前有多少元素,capacity表示整个线性表的容量(创建之时已固定) 而这个node,最不容
阅读全文
当模版类遇上友元函数
摘要://对于重载操作符,这个的函数,在类中声明的时候//写成friend Complex operator-<T>(Complex &c1, Complex &c2);//在类的外部,写成/*template<class T>Complex<T> operator-(Complex<T> &c1, Co
阅读全文
关于vptr指针初始化的分步
摘要:vptr:一个具有虚函数类的对象所具有的隐藏的成员,指向该类的虚函数表. 父类对象的vptr指向是一直指向父类的.但子类的vptr指针最终是指向子类的, 当子类创建的时候,先调用父类构造函数,这个时候vptr指针是指向父类的, 向子类.
阅读全文
多态实现的本质(图文说明)
摘要:一个类,如果成员函数中添加了virtual关键字,编译器会在类中生成一个虚函数表.如下图 虚函数表是一个存储类成员函数指针的数据结构,虚函数表是由编译器自动生成与维护的,虚函数表是在编译的时候产生的. virtual成员函数会被编译器放入虚函数表中 存在虚函数时,编译器会悄悄地为每个对象中添加一个指
阅读全文
重写重载重定义的区别
摘要://重写的两种情况//如果函数重写,在父类中增加了virtual关键字, 将能产生多态, 叫重写//如果函数重写,没有加virtual关键字,,相当于在子类中重定义,不会发生多态。。。 会发生多态的叫重写,不重发生多态的叫重定义,重写(重定义)一定是发生在两个类的情况下,而重载一定是发生在同一个类中
阅读全文
继承模型图
摘要:子类由两部分构成,一部分是继承的父类,另一部分是自己新增加的元素,访问父类元素的方式[子类对象].[父类名]::[父类元素] 构造时,先构造父类部分,再构造自身部分(先构造a,b,,再构造c,d,e) 析构时,先析构自身部分,再析构父类部分.(先析构c,d,e,再析构a,b)
阅读全文
从一个小项目看return 引用 重载运算符
摘要:#ifndef _ARRAY_H_ #define _ARRAY_H_ class Array { private: int mLength; int* mSpace; public: Array(int length); Array(const Array& obj); int length();
阅读全文
const修饰
摘要:const int A() //const // ====>int A(const this) { //观点1:const是修饰a,但是通过测试,我们发现,b++也不能编译通过 //这说明:const把a 和 b都修饰了。。。。 //剖析:因为this作为函数的第一个参数,被隐藏。。。。const没
阅读全文
<< 链式重载
摘要:1 #include <iostream> 2 3 using namespace std; 4 5 class Complex 6 { 7 private: 8 int a, b; 9 public: 10 Complex(int a, int b) :a(a), b(b) 11 {} 12 fr
阅读全文
运算符重载
摘要:1 #include <iostream> 2 3 using namespace std; 4 5 class Complex 6 { 7 private: 8 int a, b; 9 public: 10 Complex(int a, int b) :a(a), b(b) 11 {} 12 13
阅读全文
友元函数 友元类 及用法
摘要:友元函数可以修改访问类内部的私有成员, 友元函数的参数之一是类元素,类指针或者是类引用,意思是修改某个对象中的类私有成员(对象一般是访问不了类私有成员的). 若F类是A类的友元类,那么F类的所有成员函数都是A类的友元函数,在F类里声明一个A类的对象a,在F类内部,这个对象a可以直接访问A类的私有成员
阅读全文
全局函数VS成员函数
摘要:1 #include <iostream> 2 3 using namespace std; 4 5 class Test 6 { 7 public: 8 Test(int a, int b) 9 { 10 this->a = a; 11 this->b = b; 12 } 13 int getA(
阅读全文
C++类构造析构调用顺序训练(复习专用)
摘要://对象做函数参数 //1 研究拷贝构造 //2 研究构造函数,析构函数的调用顺序 //总结 构造和析构的调用顺序 #include "iostream" using namespace std; class ABCD { //this() public: ABCD(int a, int b, in
阅读全文
类初始化列表
摘要:#include "iostream" using namespace std; class A { public: A(int _a1) { a1 = _a1; } protected: private: int a1; }; //构造函数的初始化列表产生原因 //语法现象 class B { p
阅读全文
从一个例子讲解拷贝构造函数与return
摘要:1 #include "iostream" 2 using namespace std; 3 4 5 class Location 6 { 7 public: 8 Location(int xx = 0, int yy = 0) 9 { 10 X = xx; Y = yy; 11 cout << X
阅读全文
还是引用
摘要:1 #include <iostream> 2 using namespace std; 3 4 int getA1() 5 { 6 int a; 7 a = 10; 8 return a; //复制一份交给主函数相关变量,然后自己消失,只是返回一个值,可能存在于除内存外的其他地方. 9 } 10
阅读全文
引用的实质
摘要:是一个常指针 #include <iostream> #include <stdio.h> using namespace std; struct Teacher { bool sex; int age; }; void printa(Teacher *const p) { printf("prin
阅读全文
const
摘要://c++里面,const不在是一个冒牌货void main(){ //c里面的const是一个冒牌货 const int a = 10; //a = 11; 直接修改a不可以 int *p = (int *)&a; *p = 11; //但是间接修改a可以,在C里面 printf("a: %d \
阅读全文
三目运算符
摘要:int main(){ int a = 10; int b = 20; //返回一个最小数 并且给最小数赋值成3 //三目运算符是一个表达式 ,表达式不可能做左值 (a < b ? a : b )= 30; printf("a = %d, b = %d\n", a, b); system("paus
阅读全文
浙公网安备 33010602011771号