摘要:### 一、C++ I/O流 头文件:fstream C++把对文件的读写操作都封装在以下的类中: | 类名 | 功能 | 继承 | 相当于 | |: :|: :|: :|: :| | **ofstream** | 对文件的写操作,默认以只写方式O_WRONLY\|O_CREAT\|O_TRUNC打
阅读全文
摘要:### 一、什么是多态 - 指的是一条指令可以有多种形态,当调用一个指令时,它能够根据参数、环境的不同作出不同的操作,这种情况称为多态 - C++中根据确定指令具体操作的时间划分多态: 编译时多态、运行时多态 ### 二、两种多态 - 编译时多态: 当调用函数重载版本时,编译器会根据参数的类型、个数
阅读全文
摘要:### 一、什么是继承 1. 当遇到问题时,先查看现有的类是否能解决一部分问题,如果有则继承该类,并在此基础上扩展以此解决问题,从而缩短解决问题的时间(代码复用) 2. 当遇到一个大而复杂的问题时,可以把大问题拆分成若干个不同的小问题,然后为每个小问题设计一个类来解决,最后通过继承的方式把这些类汇总
阅读全文
摘要:### 运算符函数 在C++中会把运算符当做函数处理,一个表达式,其实可能调用了很多运算符函数来完成计算,这种特性对内建类型没有用,但是对于自建类型而言,通过设计运算符函数能够进行个性化运算,以此提高代码的可读性、易用性,例如string类 ##### Ⅰ.运算符函数的格式: '#'表示运算符,'O
阅读全文
摘要:### 一、静态成员 ##### Ⅰ.什么是静态成员: 被static修饰的成员变量和成员函数就叫静态成员 ##### Ⅱ.普通成员的特点: - 成员变量:每个类对象中都有一份属于自己的成员变量,相互之间没有关联、独立的 - 成员函数:隐藏着一个this指针,接收调用者的地址用于区分调用者 ####
阅读全文
摘要:### 一、对象的创建和销毁过程 ##### Ⅰ.对象的创建过程 1. 给对象划分内存空间 2. 执行初始化列表 ①根有参构造据继承表的顺序调用父类的无参构造或者 ```tex 通过:父类名(val) 调用父类的有参构造 ``` ②根据成员变量的定义顺序调用类类型成员的无参构造或有参构造 ```te
阅读全文
摘要:### 一、函数重载 1、什么是函数重载? - 在同一作用域下,函数名相同,参数列表不同的函数构成重载关系 - 函数重载与返回值类型、参数名无关 - 与作用域是否相同,以及参数列表的数量、参数类型、常属性不同等有关 2、C++是如何实现函数重载的? 通过g++ -S 生成汇编代码可知,编译器会把函数
阅读全文
摘要:### 一、C++介绍 **本贾尼.斯特劳斯特卢普**,于1979年在**贝尔实验室**负责分析UNIX系统内核流量的分布情况时,特别希望有一种更加模块化的工具,于1979.10开始着手研发一款新的编程语言,在C语言的基础上增加了面向对象的机制,也就是C++,**1983**年完成了C++的第一个版
阅读全文
摘要:## 队列: 只有两个口进出数据,一个专门进入数据,另一个专门出数据,先进先出,FIFO表 #### 1. 顺序队列: **数据项 :** 存储元素的连续内存的首地址 容量 队头位置 (出队) 队尾位置 (入队) [元素数量] **运算**:创建、销毁、清空、出队、入队、队空、队满、队头、队尾、元素
阅读全文
摘要:功能受限表:对表结构的功能加以限制,形成特殊的表结构 ## 一、栈 只有一个出入口的表结构,先进后出,FILO表 ##### 1.顺序栈: **数据项**: 存储元素的内存首地址 栈的容量 栈顶位置 **运算**:创建、销毁、入栈、出栈、栈顶、栈空、栈满、数量 **test1:实现一个函数,判断序列
阅读全文
摘要:## 一、顺序表 **数据项**: 存储元素的内存首地址 表的容量 元素的数量 **运算**: 创建、销毁、清空、插入、删除、访问、查询、修改、排序、遍历 **注意**: 1、要确保数据元素的连续性 2、不能越界 ```c #include #include #include #include #d
阅读全文
摘要:### 一、数据结构的起源 1968年,美国高德纳教授,《计算机程序设计艺术》第一卷《基本算法》提出,开创了数据结构与算法的先河 数据结构是一门研究数据之间关系、操作的学科,而非计算数据方法 数据结构 + 算法 = 程序 揭露了程序的本质,沃思凭借这个观点获得了图灵奖 ### 二、数据结构中的基本概
阅读全文
摘要:### 一、基本概念 1、线程是进程的执行路线,它是进程内部的控制序列,线程是进程的一部分,进程是一个资源单位,而线程是执行单位,线程是进程执行的实体,负责真正的执行 2、线程是轻量级的,没有自己的代码段、数据段、bss段、堆、环境变量、命令行参数、文件描述符、信号处理函数、当前工作目录等资源,进程
阅读全文
摘要:#### TCP服务端处理多客户端任务: 原来是通过开启子进程来服务不同的客户端,当客户端退出时就关闭该子进程 #### 多路复用: 使用一个进程(有且只有一个主进程)同时若干个文件描述符,这种读写模式称为多路复用 多用于TCP的服务端,用于监控客户端的连接和数据的收发 优点:不需要频繁地创建、销毁
阅读全文
摘要:#### 封装socket网络通信模块-network 由于TCP、UDP客户端、服务端的操作流程固定,所以为了后期使用方便,把socket网络通信封装成网络模块并生成libnw.so共享库 ###### 头文件network.h ```c #ifndef NETWORK_H #define NET
阅读全文
摘要:##### 一、进程间通信-socket套接字 **基本特征**:socket是一种接口技术,被抽象了一种文件操作,可以让同一计算机中的不同进程之间通信,也可以让不同计算机中的进程之间通信(网络通信) 本地进程间通信编程模型: 进程A 进程B 创建socket对象 创建socket对象 准备通信地址
阅读全文
摘要:#### 一、基本概念 什么是进程间通信: 是指两个或多个进程之间需要协同工作、交互数据的过程,因为进程之间是相互独立工作的,为了协同工作就需要进行通信来交互数据 进程间通信的分类: 简单的进程间通信: 信号(携带附加信息)、文件、环境变量、命令行参数等 传统的进程间通信: 管道文件(有名管道、匿名
阅读全文
摘要:一、进程的基本概念 1、进程与程序 程序是存储在磁盘上的可执行文件,程序被加载到内存中开始运行称为进程,一个程序可以同时加载成多个进程,进程就是处于活动状态下的程序 2、进程的分类 进程根据功能不同一般分为三种类型:交互进程、批处理进程、守护进程 交互进程:由一个shell终端启动的进程,在运行过程
阅读全文
摘要:一、基本概念 1、中断 当进程接收到消息后中止当前正在进行进程,转而去执行其它任务,等其它任务执行结束后再返回刚刚中止的位置,可以继续往下运行 这种执行模式称为中断 中断分为硬件中断、软件中断,硬件中断是由硬件设备引发的、软件中断是执行了中断指令引发 2、信号 信号是一种软件中断,由操作系统发出,进
阅读全文
摘要:一、一切皆文件 Linux/UNIX操作系统把所有的服务、设备、协议都抽象成文件的形式,提供了一套统一而简单的文件IO的系统调用,简称系统的文件IO 也就是说在UNIX\Linux中任何对象都可以被当做是某种特殊的文件,都可以像访问文件一样,访问这些对象 文件分类: 普通文件 - 包括纯文本文件、二
阅读全文
摘要:一、内存管理 用户层 STL 智能指针/容器 自动分配、释放 调用C++ C++ new/delete 调用C C malloc/free 调用POSIX\Linux POSIX brk/sbrk 调用内核 Linux mmap/munmap 调用内核 系统层 Kernal kmalloc/vmal
阅读全文
摘要:程序员必备的技能: 一门编程语言:C语言、C++ 数据结构与算法:表、树、图、查找、排序、STL 操作系统:Linux操作系统 网络通信:TCP\IP协议簇(Socket套接字技术、TCP、UDP、FTP、HTTP等协议) 数据库:MySQL 界面设计:Qt 操作系统课程内容: 系统介绍、内存管理、
阅读全文