- 博客(22)
- 收藏
- 关注
原创 【学习篇】【网络编程】
TCP通信流程分析server:socket() 创建socketbind() 绑定服务器地址结构listen() 设置监听上限accept() 阻塞监听客户端连接read(fd) 读socket获取客户端数据小–大写 toupper()write(fd)close();client:socket() 创建socketconnect() 与服务器建立连接write() 写数据到socketread(
2021-03-22 21:04:50 154
原创 【刷题篇】【剑指offer】
剑指offer03.数组中重复的数字03.02 不修改数组找出重复的数字04.二维数组查找05.替换空格06.从尾到头打印链表07.重建二叉树08.二叉树的下一个节点09. 用两个栈实现队列10. 斐波那契数列11.旋转数组的最小数字12.矩阵中的路径当数组作为函数的参数进行传递时,数组就自动退化为同类型的指针。03.数组中重复的数字解法一:哈希表解法二:原地置换03.02 不修改数组找出重复的数字采用类似于二分法的方式,拆成两个区间进行数字数目的判断。int getDuplication
2021-03-08 21:08:31 194
原创 【学习篇】【操作系统理论】
操作系统进程进程的三种基本状态进程控制进程通信并发性互斥、同步互斥的软件实现方法:互斥的硬件实现方法信号量机制管程线程死锁死锁的必要条件死锁的处理策略内存内存管理内存空间的分配和回收连续分配管理非连续分配管理页面分配策略对内存空间进行扩充地址转换功能内存保护功能调度挂起态与七状态模型进程调度狭义的进程调度和进程切换的区别调度算法的评价指标调度算法用户接口操作系统的特征中断文件管理文件目录文件的物理结构(文件的分配方式)文件存储空间管理设备管理相关学习帖子如下:https://blog.csdn.net/
2021-03-01 14:55:52 661
原创 【学习篇】【STL侯捷课程】(未完待续)
STL源码剖析笔记traits关键字autoHashTable的separate chaining(分离链接法)分配器deque如何模拟连续空间红黑树容器map的独特的operator[]lower_bound容器hashtable算法algorithm仿函数的条件functors的可适配(adaptable)条件一些adaptersorttraitstraits是人为制造的特性萃取机制,是加的中间层。class(template)iterators都有能力定义自己的associated types
2021-02-16 15:14:27 417
原创 【学习篇】【C++】【STL-常用算法】
STL-常用算法遍历算法for_eachtransformfind查找算法find_ifadjacent_findbinary_searchcoutcout_if排序算法sortrandom_shufflemergereverse拷贝和替换算法copyreplacereplace_ifswap算术生成算法accumulatefill集合算法set_intersectionset_unionset_difference遍历算法for_eachtransformfind查找算法find_ifadj
2021-01-16 10:38:20 139
原创 【学习篇】【C++】【函数对象】
函数对象的基本使用函数对象(仿函数)函数对象使用函数对象(仿函数)重载函数调用操作符的类,其对象常称为函数对象函数对象使用重载()时,行为类似函数调用,也叫仿函数函数对象(仿函数)本质是一个类,不是函数函数对象使用在使用时,可以像普通函数调用,可以有参数和返回值函数对象超出普通函数的概念,函数对象可以有自己的状态函数对象可以作为参数传递举例:函数对象可以有参数和返回值class MyAdd{public : int operator()(int v1, int v2)
2021-01-16 00:22:58 239
原创 【学习篇】【C++】【STL容器及案例】
案例1.评委打分2.员工分组1.评委打分五名选手ABCDE,10个评委打分,去掉最高分和最低分,取平均分步骤:创建五名选手,放进vector遍历vector容器取出每一名选手,执行循环,把十个评分存到deque容器中sort对deque容器进行分数排序,去掉最高分和最低分deque容器遍历一遍,累加总分获取平均分#include<iostream>#include<string>#include<deque>#include<vector
2021-01-13 16:56:16 1335 1
原创 【学习篇】【C++】【模板】
模板一、函数模板类模板模板不可以直接使用,只是一个框架。模板的通用不是万能的Cpp除了面向对象的编程思想外,还有一种称为泛型编程。主要利用的技术就是模板。提供了两种模板机制:函数模板和类模板一、函数模板作用:建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。语法:template< typename T>函数声明或定义template:声明创建模版typename:表明其后面的符号是一种数据类型,可以用class替代T:通用的数据类型,名称可
2021-01-07 20:32:44 115
原创 【学习篇】【C++】【文件操作】
文件操作一、文本文件1.1 文件的打开方式1.2 写文件1.3 读文件二、二进制文件2.1 写文件2.2 读文件程序运行时产生的数据都属于临时数据,程序运行完后就会被释放,因此通过文件可以将数据持久化。文件操作需要包含头文件fstream。文件类型分为两种:文本文件—文件以文本的ASCII码形式存储在计算机中二进制文件—文件以文本的二进制形式存储在计算机中,一般不能直接读懂操作文件的三个大类:ofstream 写操作ifstream 读操作fstream 读写操作一、文本文件
2021-01-07 17:19:50 408
原创 【学习篇】【C++】【类和对象】【多态】
多态基本概念纯虚函数和抽象类虚析构和纯虚析构案例二级目录三级目录基本概念纯虚函数和抽象类虚析构和纯虚析构案例二级目录三级目录
2021-01-05 21:28:00 125
原创 【学习篇】【C++】【类和对象】【继承】
继承一、继承的基本语法和方式1.公共继承2.保护继承3.私有继承测试编译结果二、继承的对象模型三、继承中构造和析构顺序四、继承中同名成员处理五、继承中同名静态成员处理六、多继承语法下级别的成员除了拥有上一级别的共性,还有自己的特性。用继承的技术可以减少重复的代码。三种继承方式:公共继承、保护继承、私有继承一、继承的基本语法和方式语法:class 子类 : 继承方式 父类子类 也称为 派生类父类 也称为 基类子类中的成员包含两大部分:一部分是从基类继承过来的,一部分是自己增加的成员
2021-01-05 18:59:20 152
原创 【学习篇】【C++】【类和对象】【运算符重载】
运算符重载一、加号 运算符重载1.成员函数实现+号运算符重载2.全局函数实现+号运算符重载3.运算符重载后的函数重载(全局下)二、左移 运算符重载三、递增 运算符重载四、赋值 运算符重载五、关系 运算符重载六、函数调用 运算符重载一、加号 运算符重载实现两个自定义数据类型相加的运算1.成员函数实现+号运算符重载Person operator+(const Person& p){ Person temp; temp.m_a = this->m_a + p.m_a; temp.m_
2020-12-29 22:06:02 220
原创 【学习篇】【C++】【类和对象】【友元】
友元一、全局函数做友元二、类做友元三、成员函数做友元关键字为friend,友元的目的就是让一个函数 和 类 可以访问另一个类中的私有成员。具体做法为在类中做一个声明,不用写在权限里都行。以下为友元的三种实现方式:全局函数做友元类做友元成员函数做友元一、全局函数做友元class Home{//函数goodfriend是home类的友元,可以访问私有成员friend void goodfriend(Home* home);public: string m_sittingroom;
2020-12-29 21:07:12 102
原创 【学习篇】【C++】【类和对象】【C++对象模型和this指针】
C++对象模型和this指针一、成员变量和成员函数分开存储二、this指针概念三、空指针访问成员函数四、const修饰成员函数一、成员变量和成员函数分开存储二、this指针概念三、空指针访问成员函数四、const修饰成员函数...
2020-12-25 18:17:57 95
原创 【学习篇】【C++】【类和对象】【对象初始化和清理】
对象初始化和清理一、构造函数和析构函数1.构造函数的分类及调用一、构造函数和析构函数构造函数:主要作用在于创建对象时为对象的成员属性赋值,由编译器自动调用,无需手动析构函数:主要作用于对象销毁前系统自动调用,执行一些清理工作。构造函数的语法:函数名(即是类名)() {}1. 没有返回值也不写void2. 函数名称与类名相同3. 构造函数可以有参数,因此可以发生重载4. 程序在调用对象时候会自动调用构造,无需手动调用,而且只会调用一次析构函数的语法:~函数名(即是类名)() {}1. 没有
2020-12-22 17:29:57 336
原创 【学习篇】【C++】【类和对象】
C++面向对象一、封装二、对象初始化和清理三、C++对象模型和this指针四、友元五、运算符重载六、继承七、多态三大特性:封装、继承、多态具有相同性质的对象,我们可以抽象称之为类属性=成员属性=成员变量行为=成员函数=成员方法一、封装二、对象初始化和清理三、C++对象模型和this指针四、友元五、运算符重载六、继承七、多态...
2020-12-22 16:50:07 94
原创 【学习篇】【C++】【类和对象】【封装】
C++面向对象一、封装1.struct和class的区别2.成员属性设为私有3.封装案例1(立方体)(1)步骤1~2(2)步骤3(3)步骤4(4)案例源码4.封装案例2(点和圆)(1)步骤1二、对象初始化和清理三、C++对象模型和this指针四、友元五、运算符重载六、继承七、多态三大特性:封装、继承、多态具有相同性质的对象,我们可以抽象称之为类属性=成员属性=成员变量行为=成员函数=成员方法一、封装【意义】• 将属性和行为作为一个整体,表现生活中的事物• 将属性和行为加以权限控制意义一:语
2020-12-22 16:30:40 197
原创 【学习篇】【C++】【函数提高】
函数提高一、函数默认参数二、函数占位参数三、函数重载1.函数重载的注意事项一、函数默认参数在C++中,函数的形参列表中的形参是可以有默认值的。语法:返回值类型 函数名 (参数=默认值){}如果我们自己传入数据,就用自己的数据;如果没有,那就用默认值。注意事项:1.如果某个位置已经有了默认参数,那么从这个位置往后,从左到右都必须有默认值。int func(int a, int b, int c=10, int d=20)2.如果函数声明有默认参数,函数实现就不能有默认参数,否则会有分歧,会报
2020-12-18 21:14:54 282 1
原创 【学习篇】【C++】【引用】
引用一、引用的作用及语法1.引用 作为 函数参数2.引用 作为 函数返回值二、引用的本质三、常量引用一、引用的作用及语法作用:给变量起别名语法:数据类型 &别名 = 原名;注意事项:引用必须初始化初始化之后,不可以改变1.引用 作为 函数参数作用:函数传递参数时,可以利用引用的技术让形参修饰实参优点:可以简化指针修改实参2.引用 作为 函数返回值函数的调用可以作为左值e.g.Int &test02(){ Static int a = 10; Return
2020-12-18 21:05:38 267 1
原创 【学习篇】【C++基础】【内存分区】
内存分区模型程序运行前代码区全局区程序运行后栈区堆区new操作符一些Tips:程序在执行时,将内存大方向划分为4个区域:代码区:存放函数体的二进制代码,由操作系统进行管理全局区:存放全局变量和静态变量以及常量栈区:由编译器自动分配释放,存放函数的参数值、局部变量等堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收程序运行前在程序编译后,生成了exe可执行程序,未执行该程序前分为两个区域代码区存放CPU执行的机器指令(二进制)代码区是共享的,共享的目的是对于频繁被执行的程
2020-12-17 20:49:45 120
原创 【学习篇】【C++基础】【通讯录管理系统】
通讯录管理系统1. 注意事项2. 系统的显示界面3. 创造通讯录的程序实体4. 具体管理功能1.添加联系人2.显示联系人3.删除联系人4.查找联系人5.修改联系人6.清空联系人7.退出系统1. 注意事项一开始定义好通讯录的大小,便于后期直接修改容量#define MAX 100//定义通讯录上限,便于修改2. 系统的显示界面//定义函数:显示菜单界面void show_menu(){ cout << "**************************" << e
2020-12-16 19:41:41 107
原创 【学习篇】【C++语法基础】【结构体】
学习篇—c++语法基础—结构体结构体结构体的基本概念结构体的定义和使用结构体指针结构体嵌套结构体结构体做函数参数如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入结构体???结构体的基本概念属于用户自定义的数据类型,允许用户存储不同的数据类型结构体的定义和使用语法:struct 结构体名{结构体
2020-12-11 23:03:09 402
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人