暂时未有相关云产品技术能力~
暂无个人介绍
1. 命名空间 1.1 域的介绍 域就是指的作用域,分为全局作用域和局部作用域,这一点就不用解释了,先看一个实例来了解域和命名空间的联系
1. 命名空间 1.1 域的介绍 域就是指的作用域,分为全局作用域和局部作用域,这一点就不用解释了,先看一个实例来了解域和命名空间的联系
c++类和对象 (一) 1. 面向对象和面向过程初步认识 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。比如洗衣服这个场景:先拿盆子,再防水到盆子中,然后放衣服和洗衣粉,手搓,换水,再手搓,直到水清为止,拧干, 晒衣服。C++语言是面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。总共有四个对象:衣服,人,洗衣机,洗衣粉
C++类和对象(二) 1.六个默认成员函数 如果一个类中什么成员都没有,简称为空类。空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默认成员函数。 六个默认成员函数:构造函数(初始化工作)、析构函数(清理工作)、拷贝构造(使用同类对象初始化创建对象)、赋值重载(把一个对象赋值给另外一个对象)、取地址重载(普通对象和const对象取地址)
Linux进程概念(一) 1. 冯诺依曼体系结构 我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系
C/C++内存管理 1. C/C++内存分布 C++兼容C,因此内存分布都是一样的:
C++模板(一) 1. 泛型编程 前面我们学到了函数重载这个特性,对于交换函数,可能要写int和int类型的交换,可能要写double和double类型的交换,还可能写char和char类型的交换,这样就有不好之处: 函数重载仅仅是类型不同,代码复用率低,只要新类型出现时就需要重构 代码可维护性低
C+±-STL介绍 1. STL是什么 STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架
进程概念(二) 1. 进程状态 进程运行时,进程会被CPU调度,但是我运行了很多个进程,凭什么你这个进程就被先运行,这里就是被操作系统管理,这里就要说说进程状态,实际上这里的凭什么就因为进程有状态。
进程控制 1. fork后内核做什么? 分配新的内存块和内核数据结构给子进程 将父进程部分数据结构拷贝子进程 将子进程添加到系统进程列表中 fork返回开始调度器调度 2. fork调用失败的原因 系统中有太多的进程 实际用户的进程数超过了上限 3. 进程退出场景 代码运行完毕,结果正确 代码运行完毕,结果不正确 代码异常终止 4. 查看进程退出码 echo $? 只会保留最近一次执行的进程的退出码
C++ – string类模拟实现 0. 成员变量
C++ – vector类模拟实现 0. 成员变量
C++ – list类模拟实现 0. list类成员变量和节点
C++ – queue 和 stack模拟实现 1. queue模拟实现 队列是先进先出的特性,这里要支持vector、list、deque等等,这里queue和stack模拟实现,都是直接复用
反向迭代器和正向迭代器 1. 正向迭代器 1.1 list结构 先来看list(双向带头链表):从结构到框架到代码
1. 普通版本实现优先级队列 1.1 push()
1. 多态的概念 通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。举个例子:比如买票这个行为,当普通人买票时,是全价买票;学生买票时,是半价买票;军人买票时是优先买票。 2. 多态的定义和实现 2.1 满足条件 必须通过基类的指针或者引用调用虚函数 被调用的函数必须是虚函数,且派生类必须对基类的虚函数进行重写
1. 基础认识 文件=内容+属性,对文件的操作无非就两种:对内容进行操作或者对属性进行操作。 文件没有被操作的时候,文件一般是放在磁盘上的。 文件被操作的时候,文件是内存中的,因为是冯诺依曼体系的规定。 文件被操作的时候,文件被加载内存中的必须得有文件属性。 打开文件本质就是将需要的文件属性加载到内存中,操作系统一定同时存在大量的被打开的文件,同时操作系统也要管理这些被打开的文件,要管理文件就需要先描述后组织,先描述就是构建在内存中的文件结构体struct file{},这个结构体可以从磁盘上拿到,后组织就是通过数据结构来组织,比如:链表来连接结构体节点。 文件被分为两大类:磁盘文件、内存文件
1. vscode软件下载和使用 1.1 下载 1.1.1 解决下载慢问题 链接:https://blog.csdn.net/wang13679201813/article/details/125367532 1.1.2 推荐下载链接 链接:https://vscode.cdn.azure.cn/stable/30d9c6cd9483b2cc586687151bcbcd635f373630/VSCodeUserSetup-x64-1.68.1.exe 1.2 vscode是什么 vscode(visual studio code)是一个编辑器,不是编译器,这里我们使用vscode+cent
1. vscode软件下载和使用 1.1 下载 1.1.1 解决下载慢问题 链接:https://blog.csdn.net/wang13679201813/article/details/125367532 1.1.2 推荐下载链接 链接:https://vscode.cdn.azure.cn/stable/30d9c6cd9483b2cc586687151bcbcd635f373630/VSCodeUserSetup-x64-1.68.1.exe
1. AVL树概念 AVL树就是自平衡二叉查找树,为了解决二叉树退化为单链表,使得增删查改时间度为O(N),这里采用控制平衡策略达到效率是O(logN)。 2. AVL树满足性质 每个节点的左右子树高度之差绝对不能超过1 左边插入(父节点高度差-1) 右边插入(父节点高度差+1) 不插入(自身节点高度差为0)
1. 信号量 1.1 进程互斥概念 两个或两个以上的进程,不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,这种现象被称作进程互斥· 也就是说,一个进程正在访问临界资源,另一个要访问该资源的进程必须等待(任何时刻,都只允许一个进程在进行共享资源的访问) 任何时刻都只允许一个进程在进行访问的共享资源叫做临界资源 临界资源都是通过代码访问的,凡是访问临界资源的代码就叫做临界区 一个程序,它要么完整的被执行,要么完全不执行的特性就叫原子性
1. 信号量 1.1 进程互斥概念 两个或两个以上的进程,不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,这种现象被称作进程互斥· 也就是说,一个进程正在访问临界资源,另一个要访问该资源的进程必须等待(任何时刻,都只允许一个进程在进行共享资源的访问) 任何时刻都只允许一个进程在进行访问的共享资源叫做临界资源 临界资源都是通过代码访问的,凡是访问临界资源的代码就叫做临界区 一个程序,它要么完整的被执行,要么完全不执行的特性就叫原子性
1. 红黑树概念和性质 1.1 概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出两倍,因而是接近平衡的。
1. 红黑树概念和性质 1.1 概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出两倍,因而是接近平衡的。