- 博客(84)
- 收藏
- 关注
原创 【C++提高】算法
算法主要是由头文件组成。是所有STL头文件中最大的一个,范围涉及到比较、 交换、查找、遍历操作、复制、修改等等;体积很小,只包括几个在序列上面进行简单数学运算的模板函数;定义了一些模板类,用以声明函数对象。
2024-04-22 22:38:40
878
原创 【C++提高】函数对象
STL内建了一些函数对象,这些函数对象主要用于提高代码的复用性,不需要重复编写功能相同的代码。内建仿函数可以分为算术仿函数、关系仿函数、逻辑仿函数三类。内建仿函数所产生的对象,用法和一般函数完全相同。在使用内建函数对象,需要引入头文件。其中negate是一元运算,其他都是二元运算。
2024-04-21 12:30:45
346
原创 【C++提高】常用容器
常用容器引言:迭代器的使用一、vector容器1. vector基本概念2. vector的迭代器3. vector构造函数4. vector赋值操作5. vector容量和大小6. vector插入和删除7. vector数据存取8. vector互换容器9. vector预留空间二、deque容器1. deque容器的基本概念2. deque容器的迭代器3. deque构造函数4. deque赋值操作5. deque大小操作6. deque的插入和删除7. deque数据存取8. deque排序三、st
2024-04-20 17:15:17
1746
原创 【C++提高】STL简介
/自定义数据类型public:mAge = age;//存放对象//创建数据it!= v.end();it++) {//放对象指针//创建数据it!= v.end();test02();return 0;
2024-04-20 17:06:52
877
原创 【C++提高】函数模板和类模板
模板就是通用的模具,它会大大提高代码的复用性。C++另一种编程思想称为泛型编程,主要利用的技术就是模板。C++提供两种模板机制,分别是函数模板和类模板。
2024-04-17 22:15:55
1189
原创 【C++核心】面向对象的三大特性
静态多态: 函数重载和运算符重载属于静态多态,复用函数名。动态多态: 派生类和虚函数实现运行时多态。静态多态的函数地址早绑定:编译阶段确定函数地址。动态多态的函数地址晚绑定:运行阶段确定函数地址。动态多态的本质是父类指针或引用指向子类对象。本部分所介绍的多态,指的都是动态多态。因此,为了方便起见,下文只要说到多态的地方,都代表动态多态。
2024-04-17 00:43:03
3250
1
原创 【C++核心】运算符重载和文件操作
程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放,通过文件可以将数据持久化。C++编译器默认会给类添加四个函数,除了构造函数、析构函数和拷贝构造函数外,还会添加赋值运算符。,用来对属性进行值拷贝。此时,如果类中有属性指向堆区,做赋值操作时也会出现深浅拷贝问题。注意:文件打开方式可以配合使用,利用|操作符。注意:如果文件路径没有说明具体路径,则会放在当前源文件的同级目录下。如果要以二进制的方式对文件进行读写操作,那么打开方式要指定为。函数,保险起见,最好在深拷贝之前先进行释放。
2024-04-16 20:50:13
926
原创 【C++核心】C++中的对象
对象的初始化和清理也是两个非常重要的安全问题。一个对象或者变量没有初始状态,对其使用后果是未知;同样的,使用完一个对象或变量,没有及时清理,也会造成一定的安全问题。c++利用了构造函数和析构函数解决上述问题,这两个函数将会被编译器自动调用,完成对象初始化和清理工作。C++中每一个非静态成员函数只会诞生一份函数实例,也就是说多个同类型的对象会共用一块代码,那么这一块代码是如何区分那个对象调用自己的呢?C++通过提供特殊的对象指针【this指针】,解决上述问题。this指针指向被调用的【成员函数】所属的对象。
2024-04-14 16:51:46
1058
原创 【C++核心-基础知识】内存分析和new操作符
C++中利用new操作符在堆区开辟数据。利用new创建的数据,会返回该数据对应的类型的指针。new 数据类型堆区开辟的数据,由程序员手动开辟,手动释放,释放利用操作符delete。
2024-04-12 20:44:05
764
原创 【C++基础】函数的使用
返回类型:调用函数之后,返回结果的数据类型;函数名:用来命名代码块的标识符,在当前作用域内唯一;参数列表:参数表示函数调用时需要传入的数据,一般叫做“形参”;放在函数名后的小括号里,可以有0个或多个,用逗号隔开;函数体:函数要执行的语句块,用花括号括起来。函数一般都是一个实现了固定功能的模块,把参数看成输入,返回结果看成输出,函数就是一个输入到输出的映射关系。我们可以定义一个非常简单的平方函数:// 平方函数 y = f(x) = x ^ 2return y;
2024-04-11 21:45:42
1376
原创 【C++基础】运算符和流程控制语句
大多数情况,C++编译器可以自动对类型进行转换,不需要我们干涉,这种方式叫做隐式类型转换。隐式类型转换主要发生在算术类型之间,基本思路就是将长度较小的类型转换成较大的类型,这样可以避免丢失精度。隐式类型转换不仅可以在变量赋值时发生,也可以在运算表达式中出现。在大多数算术运算中,较小的整数类型(如bool、char、short)都会转换成int类型。这叫做整数提升;当表达式中有整型也有浮点型时,整数值会转换成相应的浮点类型;
2024-04-10 21:23:44
738
原创 【C++基础】变量和数据类型
数据类型 数组名[元素个数];首先需要声明类型,数组中所有元素必须具有相同的数据类型;数组名是一个标识符;后面跟着中括号,里面定义了数组中元素的个数,也就是数组的长度;元素个数也是类型的一部分,所以必须是确定的;int a1[10];// 定义一个数组a1,元素类型为int,个数为10// 元素个数可以是常量表达式int i = 5;// 错误,元素个数不能为变量注意:没有通用的数组类型,所以上面的a1、a2的类型分别是int数组和double数组。
2024-04-10 21:23:00
1278
原创 【C++基础-基础知识】C++从介绍到HelloWorld
C++ 是一门非常经典的高级编程语言。顾名思义,C++可以看做是C语言的增强版,在C的基础上扩展了更多的功能;最主要的扩展,就是面向对象和泛型编程。写C++程序其实很简单,直接用记事本写好代码,然后用一个编译器做编译运行就可以了;不过这意味这我们得自己保证语法正确,严重影响开发效率。所以实际应用中我们一般都会使用功能更强大的工具,除了提供编译器外,还可以给我们做语法检查和提醒,方便我们调试程序——这就是所谓的“集成开发环境”(IDE)。
2024-04-08 00:06:41
1461
3
原创 Linux实操学习
Shell可以看作是一个命令解释器,为我们提供了交互式的文本控制台界面。我们可以通过终端控制台来输入命令,由shell进行解释并最终交给内核执行。
2024-01-14 19:30:28
1355
原创 openTCS分析
一、openTCS概览1. openTCS操作流程打开ModelEditor设置点、路线、装货卸货等信息并保存模型打开Kernel和KernelControlCenter在ModelEditor上传模型打开KernelControlCenter设置车辆信息打开OperationsDesk打开OperationsDesk设置小车模式为可利用,并创建订单2. openTCS基本概念路由(Route) : 决定了车辆通过什么样的方式和算法来获得一段路径,未来车辆将沿着此路径运行。派遣(D
2023-05-07 17:50:26
1441
2
原创 MyBatis中的缓存
MyBatis的缓存一、概述二、一级缓存1. 一级缓存(本地缓存)2. 作用3. 一级缓存失效的情况(没有使用到当前一级缓存的情况,效果就是还要再向数据库发出查询)三、二级缓存1. 二级缓存(全局缓存)2. 工作机制3. 使用四、缓存的相关配置一、概述基本概念:MyBatis包含一个非常强大的查询缓存特性,它可以非常方便地配置和定制。缓存可以极大的提升查询效率。分类MyBatis系统中默认定义了两级缓存,分别是一级缓存和二级缓存。基本介绍:① 默认情况下,只有一级缓存(SqlSession级别的
2022-05-24 09:39:21
9101
原创 MyBatis的基本使用一
MyBatis基本使用一、HelloWorld1. 非接口式编程1.1 创建全局配置文件mybatis-config.xml1.2 创建sql映射文件EmployeeMapper.xml1.3 将sql映射文件注册在全局映射文件中1.4 写代码2. 接口式编程1.1 创建全局配置文件mybatis-config.xml1.2 创建操作Employee表的接口EmployeeMapper1.3 创建sql映射文件EmployeeMapper.xml1.4 将sql映射文件注册在全局映射文件中1.5 写代码3.
2022-05-23 22:12:10
1653
原创 谷粒商城基础篇-后台管理系统(三)逻辑分析
逻辑分析一、全局统一返回1. 引入2. 代码二、跨域问题1. 问题2. 概念3. 解决方案4. 附加三、逻辑删除1. 基本概念2. 实现四、阿里云对象存储1. 引入2. 实现2.1 方式一:利用原生的SDK进行上传2.2 方式二:利用SpringCloudAlibaba的OSS服务进行上传2.3 方式三:利用签名2.3.1 引入2.3.2 实现五、后台JSR303校验1. 问题2. JSR3032.1 基本校验功能2.2 进阶一:统一异常处理2.2.1 基本概念2.2.2 步骤2.3 进阶二:枚举类2.4
2022-05-19 12:06:04
2038
原创 谷粒商城基础篇-后台管理系统(二)组件的使用
组件应用一、服务注册中心Nacos1. 前提2. 配置二、配置中心Nacos1. 前提2. 配置2.1 基本配置2.2 配置中心进阶2.2.1 命名空间2.2.2 配置集2.2.3 配置集ID2.2.4 配置分组2.3 再次进阶:同时加载多个配置集(配置文件)三、网关gateway1. 前提2. 基础知识2.1 基本概念2.2 作用3. 配置四、远程调用OpenFeign1. 前提2. 配置3. 细节解析(product模块调用coupon模块)3.1 只要json数据模型是兼容的,双方服务无需使用同一个对
2022-05-19 11:45:20
813
原创 谷粒商城基础篇-后台管理系统(一)环境搭建
环境搭建一、电脑的准备二、Docker1. 基本概念2. Docker的安装三、MySQL和Redis安装1. MySQL2. Redis四、统一开发环境1. Maven2.插件3. Git4. Gitee一、电脑的准备本项目所用数据库MySQL和Redis均安装在Linux系统的下的Docker环境中,为此,在腾讯云上租赁一台Centos7系统的服务器作为远程设备。二、Docker1. 基本概念Docker是虚拟化容器技术,它基于镜像,可以秒级启动各种容器,每一种容器都是一个完整的独立运行环境,
2022-05-19 11:06:24
666
原创 项目整体概述
这里写目录标题一、项目简介1. 项目背景2. 项目架构2.1 微服务架构2.2 微服务划分二、微服务简介三、项目三部曲一、项目简介1. 项目背景当前市面上一共有五种常见的电商模式, 分别是:①B2B:即Business to Business,是指商家与商家建立的商业关系。 如:阿里巴巴;②B2C:即Business to Consumer, 就是我们经常看到的供应商直接把商品卖给用户,即“商对客”模式,也就是通常说的商业零售,直接面向消费者销售产品和服务。如:苏宁易购、京东、天猫、小米商城;③C2
2022-05-18 20:25:00
1573
1
原创 MySQL练习题
MySQL的课后练习题一、基本的SELECT语句1. 查询员工12个月工资总和,并起别名为ANNUAL SALARY2. 查询employees表中去除重复的job_Id以后的数据3. 查询工资大于12000的员工姓名和工资4. 查询员工号为176的员工的姓名和部门号5. 显示表departments的结构并查询全部数据二、运算符1. 查询工资不在5000到12000的员工姓名和工资2. 查询在20或50号部门工作的员工姓名和部门号3. 查询公司中没有管理者的姓名员工及job_Id4. 查询公司中有奖金的员
2022-05-18 11:47:04
5087
2
原创 Spring全家桶的常见注解
常见注解一、Spring1. 创建对象2. 自动装配3. 完全注解开发4. AOP的注解(非Spring)5. 事务6. 新增二、SpringMVC二、SpringBoot2一、Spring1. 创建对象@Component、@Service、@Controller、@Repository:Spring 针对 Bean 管理中创建对象提供注解,分类包括四种,这四种注解功能是一样的,都可以用来创建bean实例。2. 自动装配@Autowired:根据属性类型进行自动装配。@Qualifier
2022-05-16 20:55:00
336
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人