自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 设计模式

工作模式是由面向对象语言特性得来的固定模式,也就是套路。 其设计原则主要有: OCP-开放封闭原则:开放扩展,封装更改; LSP-里氏代换原则:子类必须能够替换其父类; DIP-依赖倒转原则:抽象不应依赖细节,细节应依赖抽象(面向接口); ISP-接口隔离原则:一个类对另外一个类的依赖应当建立在最小的接口上; CARP-合成/聚合复用原则:尽量使用合成/聚合,尽量不要使用继承(因继承是强偶...

2018-08-10 10:20:13 564

原创 STL知识点(3)

set相关操作: #include <iostream> #include <queue> #include <cstring> #include <set> using namespace std; class Student { friend class Cmp; int id; char name[20]; public: St...

2018-08-08 13:47:54 152

原创 STL相关知识点(2)

vector操作:  #include <iostream> #include <vector> using namespace std; void vectorInit() { int array[] = {1,2,3,4,5,6,7,8,9}; vector<int> v1; //vector无参构造函数; vector...

2018-08-08 13:41:39 144

原创 STL相关知识点

STL(Standard Template Library,标准模板库),从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),容器和算法通过迭代器可以进行无缝地连接。在C++标准中,STL被组织为下面的13个头文件:<algorithm>、<deque>、<functional>、<iterator&gt...

2018-08-08 11:48:03 164

原创 C++模板函数

模板函数: 模板函数是建立在重载基础上的为了减少代码量而将相同功能的 函数进行模板化的函数。通过template<typename T>声明一个模板类型,建立模板函数,在调用时,系统会根据具体的函数类型调用模板函数,在动态编程时进行相应的转换,完成函数功能的实现。 如下源代码为一个简单的加法函数,用声明的模板数据类型T来编写函数,在调用时通过参数的数据类型使T转换为相应的类型实现加...

2018-08-02 11:03:12 229

原创 C++继承知识点(2)

当继承遇上构造函数: 其子类的构造顺序为,父类->子类。就如加盖总得有地基,不可能建造空中楼阁不是;同理,析构顺序相反。 1.无参构造  #include <iostream> using namespace std; class A { public: int m_a; A() { cout << "A constructor!" <&l...

2018-07-29 10:15:58 151

原创 C++继承相关知识点

C++作为面向对象的语言,类之间可以继承,被继承的类称为基类(父类),产生的新类称为派生类(子类)。 C++的类权限分为三个等级,private(私有的),protect(被保护的),public(公有的)。其相对应的继承的权限也分为相同的三个等级,即private,protect以及public继承。 这三类继承抽象自现实社会的财产继承: private继承可视为吝啬鬼的继承,将所有继承下...

2018-07-29 10:03:10 341

原创 C++引用相关知识点及实例

 变量引用 #include <iostream> using namespace std; int main(int argc,char* argz[]) { int a = 10; int b = 20; int* p = &a; //p指向a; int* &pp = p; //pp为p的引用; (*pp)++; //对pp指向的值,即对p指向的a...

2018-07-25 10:27:18 130

原创 C与C++复习杂记

Const在C(C++)中的作用: 1:用于定义常量:const定义的常量编译器可以对其进行数据静态类型安全检查。 2:Const修饰函数形式参数,输入参数为自定义和抽象数据类型时,为”const&传递”。 例:void fun(A const &a) 即加入了引用,变为引用传递。 3:const修饰函数的返回值:如给”指针传递”的函数返回值加const,z则返回值不能被...

2018-07-23 16:19:12 148

原创 初学C++,C与C++杂记

从C到C++ 两者比较 C++不允许全局变量重复定义,结构体定义变量,变量名就是一种数据类型不需要struct,函数定义函数时void和不写形参都表示无形参,且必须包含返回值类型,三目运算符能作左值(即其结果为变量),const定义变量就是常量,存在符号表中,类似于C里面的define,但其仅仅为局部变量,在函数中有效,define则为宏定义,全局可用,指针指向操作系统分派四个字节,内存中为...

2018-07-19 10:14:36 112

转载 网络编程

1.TCP与UDP的区别 TCP:传输控制协议,为应用程序提供可靠的通信连接,适合一次传输大批数据的情况,并 适用要求得到相应的应用程序 UDP:用户数据包协议,提供无线连接通信,且不对传诵包进行可靠的保证,适合一次传输少量数据 2.TCP协议的含义 TCP是TCP/IP体系中面向连接的传输层协议,它提供全双工和可靠交付的服务,采用许多机制来确保端到端结点之间的可靠数据传输,如采用

2017-12-07 17:07:46 150

转载 网络编程1

1.TCP/IP的几个重要特性 1.Connectionless Packet Delivery Service,是其他网络服务的基础,几乎所以数据包交换网络都提供这种服务。 2.Reliable Stream Transport Service,因为数据包交换并不能确保每一个数据包的可靠性,因此就需要通信软件来自动侦测和修复传送过程中可能出现的错误。 3.Network Technolog

2017-12-07 17:04:59 117

原创 操作系统基础训练十问十答

Q:简述Linux进程内存空间分为哪几个段?作用分别是什么? A:Linux中的进程内存空间分为“数据段”、“代码段”和“堆栈段”三段。 “数据段”存放的是全局变量、常数以及动态数据分配的数据空间;“代码段”存放的是程序代码的数据;“堆栈段”存放的是子程序的返回地址、子程序的参数以及程序的局部变量等。 Q:如何查看进程的信息(线程数): A:ps-elf ,想知道具体的进程可以采用 ps

2017-12-07 14:22:39 217

原创 多线程编程

Q:线程的定义及其组成? A:线程是进程的一个实体,是CPU调度和分派的基本单位,是比进程更小的能独立运行的基本单位。线程本身不拥有系统资源,但它可与同一进程的其他线程拥有该进程的所有资源。 一个线程包括以下内容:1.一个指向当前被执行指令的指令指针;2.一个栈;3.一个寄存器值的集合,定义了一部分描述正在执行线程的处理器状态的值;4.一个私有的数据区。 Q:为什么在引进进程之后还引进线程?

2017-12-01 16:57:35 111

原创 进程间通信方式(2)

Q:消息队列实质及运用? A:消息队列就是一个消息的链表,把消息看作有特定格式和优先级的记录,该记录包括消息队列键值,用户ID,组ID,消息队列中消息数目等,甚至可以包括对消息队列读写进程的ID。对于消息有相应权限的进程可以对消息进程进行相应写入和读取操作,消息队列是随着内核持续的。 对于消息队列的操作有以下三种类型:1.打开或创建消息队列;2.读写操作;3.获得或设置消息队列属性。 Q:信

2017-12-01 16:56:08 147

原创 进程间通信方式(1)

Q:进程间通信方式主要有几种? A:主要有:1.管道和有名管道;2.信号;3.消息队列;4.共享内存;5.信号量;6.套接字六种。 Q:管道的特点是什么? A:1.管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个通道。(即管道具有单向性); 2. 只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程); 3. 单独构成一种独立的文件系统。管道对于管道两端而言,就是一

2017-12-01 16:54:29 147

原创 Linux文件操作

Q:Linux为什么引进文件管理的功能,主要任务是什么? A:现代操作系统中,要利用大量的程序和数据,由于内存容量有限,且不能大量保存,所以现在把这些数据以文件的形式放在外存中,需要时再将它们调入内存,因此有了文件管理,负责管理在外存上的文件,并把存取,共享和保护等手段提供给用户,给用户提供方便,保证文件的安全性,提高系统资源的利用率。 从系统的的角度看,文件系统是对文件存储器空间进行组织和分

2017-11-23 20:00:40 183

原创 进程控制编程

Q:为何需要多进程(或者多线程),为何需要并发? A:并发技术,就是可以在同一时间同时执行多条任务的技术,用户进行的任务往往不止一个,单CPU计算机实际上只能在一个时间片段内执行一条指令。Linux使用“进程调度”实现并发,为每个进程指派一定的运行时间,这个时间通常很短,然后依照某种规则,依次单个执行一条进程,其进程则处于等待状态,由于每条进程单个执行的时间很短,从使用者的角度来看,就好像多进程

2017-11-23 19:56:31 167

原创

Q:栈的定义和实质 A:栈是一种特殊的数据结构,存入其中的数据先进后出,即最后存入的数据在读取时会被第一个读取;栈的实质是只能在表尾进行插入和删除的线性表,也就是说,栈本身就是一个线性表,只是操作方式较为特殊。 Q:栈的组成和相关操作 A:栈中允许插入和删除的一端称为栈顶(top),另外一端称为栈底,不含任何元素的栈称为空栈。栈简称”LIFO”结构,栈作为特殊的线性表,具有线性表的特性,用于

2017-11-03 15:49:53 269

原创 预处理和结构体2

Q:结构体的作用及其优势。 A:struct将相关联的数据打包成一个整体,方便使用,我们将多种数据组合起来的整体称为结构体。结构体可以很好的将需要传送的内容保存在一个整体中,同时结构体也可以压缩函数参数个数。 Q:结构体和数组的比较。 A:同:都由多个元素组成;各元素在内存中的存储空间是连续的;异:数组中各元素德邦数据类型相同,结构体内可以不同。 Q:结构体定义及使用。 A:一般形式:

2017-10-27 13:33:02 181

原创 预处理,结构体

Q:宏定义的定义和类型。 A:宏定义是由源程序中的宏定义命令完成的,宏代换是由预处理程序自动完成的,在C语言中,宏定义分为有参和无参两种。无参宏宏名后不带参数,其定义的一般形式为:#define 标识符 字符串;带参宏的参数为形参,其一般形式为:#define 宏名(形参表) 字符串。 Q:无参宏的用途及其注意点。 A:无参宏常用于对程序中反复使用的表达式,例:#define M (y*

2017-10-27 12:33:46 227

原创 函数

Q:C语言中可以有几个函数? A:C语言中有且只有一个主函数mainz(),它可以调用其他函数,而它本身不能被调用。C程序的执行总是从main函数开始,完成对其他函数的调用之后回到主程序main,最后由main函数结束进程。 Q:函数有哪几类? A:C语言中的函数根据有无形参分为无参函数和有参函数;形参可以是各种类型的变量,各参数之间用逗号各隔开;有参函数必须在形参表中给出形参的类型说明;

2017-10-20 23:36:00 138

原创 数组与指针

Q:如何确定指针类型? A:声明语句中除指针名字外的部分即为指针类型。 例:int* ptr; //指针类型为int* char * ptr; //指针类型为char* int* (* ptr)[4];//指针类型为int*( *)[4] Q:指针所指向的类型如何确定? A:去掉指针声明语句中的指针名和指针名左边的指针说明符; 例:int*ptr //指针所指向的类型为in

2017-10-20 16:08:46 107

原创 Linux(8)

Linux学习(8) shell 脚本相关知识点 Shell脚本由命令组成,即命令堆积形成脚本,脚本的执行由一系列的组合命令实现。 Linux系统启动时就会有许多脚本运行,对系统进行初始化,其脚本文件保存在/etc/rc目录下。 Shell脚本的编辑 首先建立一个后缀为.sh 的文件并打开进行编辑。第一行通常为#!/bin/sh或者/bin/bash,对命令解析器进行声明。从第二行开始即为

2017-10-14 16:16:26 166

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除