- 博客(95)
- 收藏
- 关注
原创 指针空值类型-nullptr
C++11中 nullptr 可以隐式转换为其他的指针类型 比如 int*、char* 以及 double* 指针类型。如果处于c++环境 NULL就是0 如果处于C语言的环境NULL表示(void *)0。用0或NULL不能很好的覆盖全部场景所以引入新的关键字(nullptr)用于指针的初始化。在C++环境中void * 无法隐式转换为其他类型的指针 随意用0代替。
2024-08-31 17:00:54
85
原创 字符串原始字面量
简介:C++11中添加定义了原始字符串的字面量,定义方式为:R"xxx(原始字符串)xxx",其中()两边的字符串可以省略。原始字面量R可以直接表示字符串的实际含义,而不需要额外对字符串做转译或链接等操作。注意事项:R"xxx(原始字符串)xxx" 中的xxx可以是字符串的描述信息,不会被解析,但是前后必须相同。语法:string s1 = R"xxx(原始字符串)xxx";场景二:想要字符串跨行显示(正常字符串无法跨行显示)场景一:写路径时不想使用\\ 不想进行转义。不同的话后面一起都会变成字符串。
2024-08-31 15:36:43
93
原创 STL-常用算法
/按值查找元素,找到返回制定位置的迭代器,找不到返回结束迭代器位置。//按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置。//查找指定的元素,查到返回true 否则返回false。//查找相邻重复元素,返回相邻元素的第一个位置的迭代器。//按照条件替换元素,满足条件的替换成指定元素。//容器元素合并,并存储到另一容器中。//dest 目标容器开始迭代器。//dest 目标容器开始迭代器。//dest 目标容器开始迭代器。//dest 目标容器开始迭代器。
2024-08-30 14:17:51
580
原创 STL-常用容器
/如果容器变短,则末尾超出容器容器长度的元素被删除。//如果容器变短,则末尾超出容器长度的元素被删除。//如果容器变短,则末尾超出容器长度的元素被删除。链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的。由于链表的存储方式并不是连续的内存空间,因此链表list中的迭代器只支持前移和后移,属于双向迭代器。节点的组成:一个是存储数据元素的数据域,另一个是存储下一个节点地址的指针域。中控器维护的是每个缓冲区的地址,使得使用deque时向一片连续的内存空间。
2024-08-28 21:16:28
835
原创 STL初识
/vector 存放自定义数据类型public:int m_age;//向容器中添加数据//遍历容器中的数据it!= v.end();it++) {//cout<<"姓名:"<<(*it).m_name<<" 年龄:"<<(*it).m_age<<endl;cout << "姓名:" << it->m_name << "年龄:" << it->m_age << endl;//存放自定义数据类型 指针//向容器中添加数据//遍历容器。
2024-08-02 23:18:53
321
原创 c++文件操作
程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放通过文件可以将数据持久化c++中对文件的操作需要包含头文件 <fstream>
2024-06-25 23:36:56
269
原创 函数提高
作用:函数名可以相同,提高复用性同一个作用域下函数名称相同函数参数类型不同或者个数不同或者顺序不同注意:函数的返回值不可以作为函数重载的条件//函数重载//可以让函数名相同,提高复用性//函数重载的满足条件//1、在同一个作用域下//2.函数名称相同//3.函数的参数类型不同或者个数不同,或者顺序不同//注意事项//函数的返回值不可以作为函数重载的条件cout << "func 的调用" << endl;cout << "func int a 的调用!" << endl;
2024-06-22 22:21:46
188
原创 通讯录管理系统
删除联系人前,我们需要先判断用户输入的联系人是否存在,如果存在删除,不存在提示用户没有删除的联系人,因此我们可以把检测联系人是否存在封装成一个函数,如果存在,返回联系人在通讯录中的位置,不存在返回-1。设计时候可以再通讯录结构体中,维护一个容量为1000的存放联系人的数组,并记录当前通讯录中联系人数量设计如下。思路:判断如果当前通讯录中没有人员,就提示记录为空,人数大于0,显示通讯录中信息。联系人信息包括:姓名、性别、年龄、联系电话、家庭住址。
2024-06-17 23:07:33
421
原创 Mybatis-Plus
Service接口继承IService Service接口的实现类继承IService的实现类(ServiceImpl)
2024-05-06 16:58:02
396
原创 c++中的结构体
语法:struct 结构体名 {结构体成员列表};struct 结构体名 变量名struct 结构体名 变量名={成员1值,成员2值...}定义结构体时顺便创建变量定义结构体时的关键字struct,不可省略创建结构体变量时,关键字struct可以省略结构体变量利用操作符“.”访问成员//1.创建一个学生的数据类型:学生包括 (姓名,年龄,分数)//自定义数据类型,一些类型集合组成的一个类型//语法 struct 类型名 { 成员列表 };//成员列表//姓名//年龄。
2024-04-28 11:22:51
1599
原创 c++中的指针
指针变量定义语法: 数据类型 * 变量名int main()//1.定义一个指针int a = 10;//指针定义的语法: 数据类型 * 指针变量名;int* p;//让指针记录变量a的地址p = &a;cout << "a的地址是:" << &a << endl;cout << "指针p指向的地址是:" << p << endl;//2.如何使用指针//可以通过解引用的方式来找到指针指向的内存//指针恰加 * 代表解引用,找到指针指向的内存中的数据*p = 1000;
2024-04-25 11:17:20
501
原创 c++中的函数
返回值类型函数名参数列表函数体语句return表达式注意:函数不能写到main函数中去//函数定义//语法//返回值类型 函数名( 参数列表){ 函数体语句 return表达式}//加法函数,实现两个整型相加,并且将相加的结果进行返回return sum;//主函数return 0;
2024-04-24 20:21:43
580
1
原创 c++中的数组
数据类型 数组名 [数组长度];数据类型 数组名[数组长度] ={值1,值2,...};数据类型 数组名[ ] ={值1,值2,...};int main()//数组//数据类型 数组名[数组长度];arr[0] = 1;//数据类型 数组名[数组长度] = { 值1,值2,... };//默认为0//用for循环遍历数组i < 10;i++)//数组下标从0开始索引//数据类型 数组名[] = { 值1,值2,... };arr2[4]=5;//修改数组元素。
2024-04-24 17:31:07
470
原创 C++中的程序流程结构
作用:在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环(break会跳出循环,continue不会跳出循环)注意:在执行循环语句的时候,程序必须提供跳出循环的出口,否则出现死循环。解释:如果标记的名称存在,执行带goto语句时,会跳转到标记位置。语法:do{循环语句} while{循环条件}语法:while(循环条件){循环语句}。解释:只要循环条件为真,就执行循环语句。作用:满足循环条件,执行循环语句。作用: 满足循环条件,执行循环语句。作用:满足循环条件,执行循环语句。
2024-04-23 15:21:16
961
原创 c++中的数据类型
作用:用于表现一些不能显示出来的ASCII字符。用法 :String 变量名 ="字符串值"作用:布尔数据类型代表真或假的值。语法:cin >> 变量。作用:用于表示一串字符。作用:从键盘上获取数据。
2024-04-19 15:45:58
306
原创 第一天学C++(C++入门)
c++中main 函数为所有函数的的入口 但是如果一个项目中 所有的main函数都一张,即每有一个cpp文件就有一个main()函数 项目就会报错。语法:数据类型 变量名 =初始值;作用:给一段指定的内存空间起名,方便操作这段内存。变量存在的意义:方便我们管理内存空间。1.c++中定义常量的两种方式。
2024-04-18 11:48:31
318
原创 用户下单、订单支付
设置内网穿透配置:cpolar.exe authtoken ********(你的隧道)生成临时域名如下所示:(可以通过域名+地址 直接访问你电脑上的数据)cpolar.exe 8080。
2024-03-28 11:35:04
327
原创 缓存菜品、套餐、购物车相关功能
CachePut(cacheNames ="userCache",key = "abc")//如果使用SpringCache缓存数据,key的生成:userCache::abc //生成的key 与cacheNames,key有关系。为了保证数据的一致性,数据库修改后,缓存中的数据并没有发生改变,用户再次请求后不会请求到新修改的数据,而是过期的数据所以要清除缓存。2.Cacheable:在方法执行前先查询缓存,如果缓存中有该数据,直接返回缓存中的数据。通过缓存的方式提高查询性能。
2024-03-27 17:34:03
1034
原创 考试复习
正确5.在Java中多态将一个父类的引用指向一个子类,需要进行强制转换错误不需要强制转换 直接可以用 子类转父类需要转换 父类转子类不需要转换6.在css里如果是弹性布局是css3CSS3中有弹性布局新样式 CSS2中没有7.JavaEE中两个对象HttpServletResponse的接口继承于HttpServlet调用HttpResponse的请求错误response 是响应信息 request是请求信息8.
2023-11-30 19:25:37
412
原创 微信登录、商品浏览
Service@Slf4j@Autowired@Autowired//微信服务接口地址/*** 微信登录* @return*/@Override//调用微信接口服务,获得当前微信用户的openid//判断openid是否为空,如果为空表示登陆失败,抛出业务异常//判断当前用户是否为新用户//如果是新用户,自动完成注册.build ();//返回用户对象//调用微信接口服务,获取用户的openid。
2023-11-03 15:32:50
141
原创 员工管理、分类管理
/将当前线程的ID设置为当前登录者的ID,然后传给UserService ,由UserService 获取并设置。存在问题:返回的时间格式不正确。
2023-10-27 14:34:28
93
原创 JVM相关的面试题
一、什么是程序计数器二、简要的介绍一下堆三、什么是虚拟机栈四、能不能解释下方法区五、你听过直接内存吗?六、什么是类加载器,类加载器有哪些七、什么是双亲委派模型八、JVM为什么采用双亲委派机制九、类装载的执行过程十、对象什么时候被垃圾回收器回收十一、JVM垃圾回收算法有哪些十二、JVM的分代回收十三、JVM中有哪些垃圾回收器十四、详细聊一下G1回收器十五、
2023-10-24 20:47:33
662
原创 Redis篇
一、缓存穿透二、缓存击穿三、缓存雪崩四、双写一致性五、数据的持久化六、Redis的数据过期策略七、数据淘汰策略八、redis-分布式锁-使用场景九、分布式锁实现原理十、主从复制,和主从同步流程十一、哨兵模式,集群脑裂十二
2023-10-20 15:30:45
426
原创 框架篇
一、Spring中的单例Bean是线程安全的吗二、AOP相关面试题三、Spring中的事务四、Spring中事务失效的场景有五、Spring bean的生命周期六、Spring的循环依赖七、SpringMVC的执行流程八、自动配置原理九、Spring框架常见的注解十、Mybatis的执行流程十一、MyBatis延迟加载使用及原理
2023-10-17 19:01:22
589
原创 MySql篇
一、如何定位慢查询二、SQL语句执行的很慢如何分析三、什么是索引?四、索引的数据结构五、什么是聚簇索引,什么是非聚簇索引,什么是回表查询六、覆盖索引,超大索引优化七、索引创建的原则有哪些八、什么情况下索引会失效九、谈一谈你对SQL优化的经验十、事务的特性十一、并发事务问题、隔离级别十二、undolog 和
2023-10-17 17:43:54
96
1
原创 常见集合篇
一、java集合的体系结构二、为什么要进行复杂度分析三、数组的实现原理四、为什么数组从0开始呢?假如从一开始不行吗?五、操作数组的时间复杂度六、ArrayList源码分析七、ArrayList底层的实现原理是什么八、ArrayList list=new ArrayList[10]中的list扩容了几次九、如何实现数组和List之间的转换九、单向链表十、
2023-10-15 20:52:35
68
原创 并发编程篇
一、线程和进程的区别二、并行与并发的区别三、创建线程的方式有哪些四、线程包含了哪些状态,状态之间是如何变化的五、新建T1,T2,T3 三个线程如何保证他们按顺序执行六、notify和notifyAll有什么区别七、Java中的Wait方法和Sleep方法有什么不同八、如何停止一个正在运行的线程九、synchronized关键字的底层原理十、monitor实现的锁
2023-10-14 12:39:57
134
原创 内部类概述
OverrideSystem.out.println ("狗游泳");@OverrideSystem.out.println ("狗游泳");} );go ( s1 );//设计一个方法,可以接受Swimming接口的一切实现类进来参加游泳比赛System.out.println ("开始----------------");s.swim ();//猫和狗都要参加游泳比赛。
2023-10-13 16:07:09
131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人