• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
指尖上的快乐
博客园    首页    新随笔    联系   管理    订阅  订阅
02 2016 档案
linux第1天 fork exec 守护进程

摘要:概念方面 文件是对I/O设备的抽象表示、虚拟存储器是对主存和磁盘I/O设备的抽象表示、进程则是对处理器、主存和I/O设备的抽象表示 中断 早期是没有进程这个概念,当出现中断技术以后才出现进程这个概念 分式操作系统 基于时间片轮转 进程是操作系统对资源的一种抽象,一个进程:代码段、数据段、堆栈段、+进 阅读全文
posted @ 2016-02-29 22:57 指尖上的快乐 阅读(1457) 评论(0) 推荐(1)
选择,插入,冒泡排序思想

摘要:选择:每一次拿第i个元素与其后面的元素相比,符合条件交换 插入:每个元素都与其在前面的每个元素相比,符合条件,前面的元素后移,空出来的位置插入这个元素.直至最前面. 冒泡:相邻元素比较,符合条件就交换,直至最后面,第二次进行比较的时候,比较到倒数第二个元素.以此类推. 阅读全文
posted @ 2016-02-24 14:43 指尖上的快乐 阅读(144) 评论(0) 推荐(0)
数据结构中链式存储的注意点(线性与栈)

摘要:当传递数据为复杂类型数据时,可以在业务层中直接将业务数据首地址传递进底层,底层可以直接偏移四个字节的方式将业务层的元素串连起来. 底层可以直接使用业务层所分配的内存空间, 当传递数据为基础类型数据时,以上的方式就不可取了,需要采取另一种思想,就是将在底层新建一个节点结构,一个指针域,一个数据域,将业 阅读全文
posted @ 2016-02-22 23:18 指尖上的快乐 阅读(300) 评论(0) 推荐(0)
线性表的两种存储方式解析.

摘要:顺序存储: typedef struct _tag_LinkNode { int length; int capacity; void **node; }Link; 用以上结构体表达,length表示线性表目前有多少元素,capacity表示整个线性表的容量(创建之时已固定) 而这个node,最不容 阅读全文
posted @ 2016-02-20 00:04 指尖上的快乐 阅读(4461) 评论(0) 推荐(0)
当模版类遇上友元函数

摘要://对于重载操作符,这个的函数,在类中声明的时候//写成friend Complex operator-<T>(Complex &c1, Complex &c2);//在类的外部,写成/*template<class T>Complex<T> operator-(Complex<T> &c1, Co 阅读全文
posted @ 2016-02-18 23:06 指尖上的快乐 阅读(456) 评论(0) 推荐(0)
关于vptr指针初始化的分步

摘要:vptr:一个具有虚函数类的对象所具有的隐藏的成员,指向该类的虚函数表. 父类对象的vptr指向是一直指向父类的.但子类的vptr指针最终是指向子类的, 当子类创建的时候,先调用父类构造函数,这个时候vptr指针是指向父类的, 向子类. 阅读全文
posted @ 2016-02-15 22:47 指尖上的快乐 阅读(252) 评论(0) 推荐(0)
多态实现的本质(图文说明)

摘要:一个类,如果成员函数中添加了virtual关键字,编译器会在类中生成一个虚函数表.如下图 虚函数表是一个存储类成员函数指针的数据结构,虚函数表是由编译器自动生成与维护的,虚函数表是在编译的时候产生的. virtual成员函数会被编译器放入虚函数表中 存在虚函数时,编译器会悄悄地为每个对象中添加一个指 阅读全文
posted @ 2016-02-15 09:39 指尖上的快乐 阅读(839) 评论(0) 推荐(0)
重写重载重定义的区别

摘要://重写的两种情况//如果函数重写,在父类中增加了virtual关键字, 将能产生多态, 叫重写//如果函数重写,没有加virtual关键字,,相当于在子类中重定义,不会发生多态。。。 会发生多态的叫重写,不重发生多态的叫重定义,重写(重定义)一定是发生在两个类的情况下,而重载一定是发生在同一个类中 阅读全文
posted @ 2016-02-14 17:00 指尖上的快乐 阅读(236) 评论(0) 推荐(0)
继承模型图

摘要:子类由两部分构成,一部分是继承的父类,另一部分是自己新增加的元素,访问父类元素的方式[子类对象].[父类名]::[父类元素] 构造时,先构造父类部分,再构造自身部分(先构造a,b,,再构造c,d,e) 析构时,先析构自身部分,再析构父类部分.(先析构c,d,e,再析构a,b) 阅读全文
posted @ 2016-02-14 13:52 指尖上的快乐 阅读(180) 评论(0) 推荐(0)
类中静态成员变量

摘要:类中静态成员变量必须初始化.是为了给从属的那个类分配内存为主要目的. 阅读全文
posted @ 2016-02-14 12:04 指尖上的快乐 阅读(147) 评论(0) 推荐(0)
从一个小项目看return 引用 重载运算符

摘要:#ifndef _ARRAY_H_ #define _ARRAY_H_ class Array { private: int mLength; int* mSpace; public: Array(int length); Array(const Array& obj); int length(); 阅读全文
posted @ 2016-02-07 11:24 指尖上的快乐 阅读(298) 评论(0) 推荐(0)
const修饰

摘要:const int A() //const // ====>int A(const this) { //观点1:const是修饰a,但是通过测试,我们发现,b++也不能编译通过 //这说明:const把a 和 b都修饰了。。。。 //剖析:因为this作为函数的第一个参数,被隐藏。。。。const没 阅读全文
posted @ 2016-02-06 17:05 指尖上的快乐 阅读(188) 评论(0) 推荐(0)
<< 链式重载

摘要: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 阅读全文
posted @ 2016-02-06 15:25 指尖上的快乐 阅读(264) 评论(0) 推荐(0)
运算符重载

摘要: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 阅读全文
posted @ 2016-02-06 13:01 指尖上的快乐 阅读(264) 评论(0) 推荐(0)
友元函数 友元类 及用法

摘要:友元函数可以修改访问类内部的私有成员, 友元函数的参数之一是类元素,类指针或者是类引用,意思是修改某个对象中的类私有成员(对象一般是访问不了类私有成员的). 若F类是A类的友元类,那么F类的所有成员函数都是A类的友元函数,在F类里声明一个A类的对象a,在F类内部,这个对象a可以直接访问A类的私有成员 阅读全文
posted @ 2016-02-06 10:54 指尖上的快乐 阅读(1325) 评论(0) 推荐(0)
全局函数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( 阅读全文
posted @ 2016-02-06 09:39 指尖上的快乐 阅读(655) 评论(0) 推荐(0)
c++ 中this底层

摘要:成员变量设置在一个结构体中, 操作成员变量的成员函数,其实质上就是拥有一个隐藏的 成员变量结构体的地址指针,俗称this指针. 阅读全文
posted @ 2016-02-05 17:07 指尖上的快乐 阅读(153) 评论(0) 推荐(0)
C++类构造析构调用顺序训练(复习专用)

摘要://对象做函数参数 //1 研究拷贝构造 //2 研究构造函数,析构函数的调用顺序 //总结 构造和析构的调用顺序 #include "iostream" using namespace std; class ABCD { //this() public: ABCD(int a, int b, in 阅读全文
posted @ 2016-02-05 14:32 指尖上的快乐 阅读(258) 评论(0) 推荐(0)
类初始化列表

摘要:#include "iostream" using namespace std; class A { public: A(int _a1) { a1 = _a1; } protected: private: int a1; }; //构造函数的初始化列表产生原因 //语法现象 class B { p 阅读全文
posted @ 2016-02-05 13:57 指尖上的快乐 阅读(181) 评论(0) 推荐(0)
从一个例子讲解拷贝构造函数与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 阅读全文
posted @ 2016-02-05 10:31 指尖上的快乐 阅读(2047) 评论(0) 推荐(0)
还是引用

摘要:1 #include <iostream> 2 using namespace std; 3 4 int getA1() 5 { 6 int a; 7 a = 10; 8 return a; //复制一份交给主函数相关变量,然后自己消失,只是返回一个值,可能存在于除内存外的其他地方. 9 } 10 阅读全文
posted @ 2016-02-03 12:14 指尖上的快乐 阅读(332) 评论(2) 推荐(0)
引用的实质

摘要:是一个常指针 #include <iostream> #include <stdio.h> using namespace std; struct Teacher { bool sex; int age; }; void printa(Teacher *const p) { printf("prin 阅读全文
posted @ 2016-02-02 23:02 指尖上的快乐 阅读(282) 评论(0) 推荐(0)
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 \ 阅读全文
posted @ 2016-02-02 16:16 指尖上的快乐 阅读(201) 评论(0) 推荐(0)
三目运算符

摘要:int main(){ int a = 10; int b = 20; //返回一个最小数 并且给最小数赋值成3 //三目运算符是一个表达式 ,表达式不可能做左值 (a < b ? a : b )= 30; printf("a = %d, b = %d\n", a, b); system("paus 阅读全文
posted @ 2016-02-02 15:44 指尖上的快乐 阅读(226) 评论(0) 推荐(0)

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3