天喜Studio
码龄3年
关注
提问 私信
  • 博客:330,579
    社区:39
    问答:41
    动态:4,671
    335,330
    总访问量
  • 204
    原创
  • 20,178
    排名
  • 10,016
    粉丝

个人简介:6月份城市(哈尔滨)之星TOP2、C/C++领域新星创作者。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:黑龙江省
  • 毕业院校: 哈尔滨理工大学
  • 加入CSDN时间: 2021-09-23
博客简介:

努力让自己的能力配得上梦想.

博客描述:
共同进步!
查看详细资料
  • 原力等级
    当前等级
    7
    当前总分
    3,304
    当月
    20
个人成就
  • C/C++领域新星创作者
  • 获得1,594次点赞
  • 内容获得86次评论
  • 获得2,847次收藏
  • 代码片获得5,346次分享
创作历程
  • 46篇
    2024年
  • 157篇
    2023年
  • 1篇
    2021年
成就勋章
TA的专栏
  • 【算法设计与分析实验报告 程序实现】
    3篇
  • 【LeetCode刷题笔记】
    14篇
  • 【数据结构与算法】
    5篇
  • 【Linux】
    15篇
  • C/C++
    57篇
  • 【计算机网络】
    10篇
  • 【王道考研】计算机网络
    6篇
  • 算法分析
    6篇
  • c语言之路重点知识整合
    47篇
  • c语言小项目
    2篇
  • 【c语言】习题汇总
    19篇
  • 【哈工大李治军老师】操作系统
    4篇
TA的推广
兴趣领域 设置
  • 编程语言
    c++c语言qt
  • 数据结构与算法
    算法数据结构
  • 网络与通信
    网络协议
  • 软件工程
    软件工程
TA的社区
  • 天喜C/C++社区
    4 成员 13 内容
    创建者
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 帖子
  • 收藏
  • 资源
搜TA的内容
搜索 取消

【C++】四种强制类型转换

C++四种类型转换static_cast(待转换量)dynamic_cast(待转换量 )const_cast(待转换量 )reinterpret_cast( 待转换量 )为什么要提出新的类型转换?C语言中的强制类型转换无所不能,而C++强调类型安全。发生隐式类型转换精度丢失时可能无法察觉到static_cast静态转换编译时确定的,用于相关内容的转换 ,基本的数据类型之间转换,指针之间类型的转换int short char 之间浮点数与整数普
原创
发布博客 2024.10.24 ·
752 阅读 ·
26 点赞 ·
0 评论 ·
28 收藏

【C/C++】菱形继承问题

菱形继承是一种多重继承的特殊情况。当一个类从两个或多个基类派生,而这些基类又有共同的基类时,就形成了菱形继承结构。
原创
发布博客 2024.08.21 ·
1222 阅读 ·
15 点赞 ·
0 评论 ·
5 收藏

【LeetCode刷题笔记】LCR.27 回文链表

主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!🔥。
原创
发布博客 2024.08.05 ·
587 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

【LeetCode刷题笔记】LeetCode.739.每日温度

主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!🔥。
原创
发布博客 2024.08.04 ·
579 阅读 ·
4 点赞 ·
0 评论 ·
8 收藏

【LeetCode】146.LRU页面置换

LRU 是操作系统中的缓存淘汰策略,还有 FIFO、LFU 等淘汰算法当缓存空间不足时,淘汰掉最近最少使用的数据项Least Recently Used通过使用链表维护一个数据项的访问历史来决定哪些数据项应该被淘汰,当访问一个数据项时,将其移到链表的头部,代表最近使用;当需要淘汰数据项时,将链表的尾部开始删除。
原创
发布博客 2024.08.02 ·
1011 阅读 ·
10 点赞 ·
0 评论 ·
28 收藏

【C++STL】优先级队列priority_queue

priority_queue优先级队列(priority_queue)即堆(heap),内部可以看作是一颗完全二叉树分为大根堆和小根堆,父节点均大于孩子节点是大根堆,父节点均小于孩子节点是小根堆优先级队列能够每次将优先级最大的元素拿出,然后自动调整堆的结构#include //存储int型元素的大顶堆std::priority_queue pq;//存储int型,队列底层vector,大顶堆std::priority_queue
原创
发布博客 2024.08.01 ·
390 阅读 ·
4 点赞 ·
0 评论 ·
4 收藏

【C++】面向对象的软件设计原则

单一职责原则 Single Responsibility Principle单一职责原则指出:“就一个类而言,应该仅有一个引起它变化的原因。”实现单一的功能开闭原则 Open-Closed Principle开闭原则指出: “一个软件实体应当对扩展开发,对修改关闭。”里氏替换原则 Liskov Substitution Principle里氏代换原则指出: “当一个子类的实例应该能够替换任何其超类的实例的时候,它们之间才具有继承的关系。”子类型必须能够替换它们的基类依赖倒置原则 D
原创
发布博客 2024.07.27 ·
555 阅读 ·
18 点赞 ·
0 评论 ·
10 收藏

【C/C++】printf和cout的区别

printf 函数是 C 语言标准库 中的输出函数,是 C 语言用于向标准输出设备输出数据的主要方式cout 是 C++ 标准库 中的输出流对象,是 C++ 面向对象编程思想下的输出方式类型安全printf 需要手动指定格式控制符来确定输出数据的类型例如格式控制符与实际传递给 printf 的参数类型不匹配,如果将一个浮点数作为参数传递给使用 %d格式控制符的 printf 调用,可能会出现错误的输出结果而cout 是类型安全的。它能够根据传递给它
原创
发布博客 2024.07.24 ·
1529 阅读 ·
14 点赞 ·
0 评论 ·
12 收藏

【C++】Qt实现简易的计算器(附代码)

中缀表达式和后缀表达式后缀表达式,又称逆波兰式,指的是不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则)。中缀表达式转换为后缀表达式创建一个空栈和一个空串,用于存放运算符和转换后的后缀表达式;从左到右遍历中缀表达式中的每个元素:如果当前元素是操作数,将其添加到输出串的末尾;2.如果当前元素是左括号“(”,将其压入栈中;3.如果当前元素是右括号“)”,则重复出栈操作直到栈顶元素是左括号,并将所有操作符加入输出串中;4.如果
原创
发布博客 2024.07.24 ·
1922 阅读 ·
30 点赞 ·
1 评论 ·
44 收藏

【LeetCode刷题笔记】LeetCode.24.两两交换链表中的节点

给你一个链表,**两两交换**其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。
原创
发布博客 2024.07.10 ·
551 阅读 ·
5 点赞 ·
1 评论 ·
5 收藏

【LeetCode刷题笔记】LeetCode.11.盛最多水的容器

LeetCode.11.盛最多水的容器一、题目描述给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。
原创
发布博客 2024.07.09 ·
556 阅读 ·
3 点赞 ·
0 评论 ·
4 收藏

【Qt】信号和槽机制

信号和槽的优点1.实现了类之间的数据通信2.实现了对象之间的松散耦合,易于维护和扩展3.信号和槽机制容易扩展,实现自定义的通信机制信号和槽可以一对一 、一对多和多对一
原创
发布博客 2024.06.28 ·
628 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

【C++】final关键字 | 避免派生、重写

C++11 标准引入的新关键字:final一、避免继承使用 final修饰整个类,表示这个类不能被其他类继承例如:在单例模式中使用 final关键字防止类被继承,严格控制实例化,保证了类不被进一步扩展例如:在单例模式中使用 final关键字防止类被继承,严格控制实例化,保证了类不被进一步扩展
原创
发布博客 2024.06.26 ·
494 阅读 ·
5 点赞 ·
0 评论 ·
3 收藏

【C++STL】Vector扩容机制

Vector 扩容机制Vector 在存储元素时,会预先分配一定的存储空间。当不断向 Vector 中添加元素,导致已分配的空间不足时,就需要进行扩容 来增加存储空间,以满足新元素的添加需求为什么需要扩容机制通过扩容机制,Vector 能够灵活地适应元素数量的变化,提供稳定和可靠的数据存储扩容策略固定倍数扩容每次扩容为原来容量的两倍。假设初始容量为n,当空间不足时,将容量扩展为2n优点:简单高效缺点:可能会造成空间浪费渐进式扩容每次扩容增加一个固定的增量,比如每次增加n个元素的空间
原创
发布博客 2024.06.25 ·
1039 阅读 ·
10 点赞 ·
0 评论 ·
16 收藏

【Linux】Socket阻塞和非阻塞、同步与异步

阻塞阻塞模式下,send函数返回时,只代表需要发送的数据已经被拷贝到内核的发送缓冲区中并且如果发送缓冲区有足够的空间,数据可能已经开始从发送缓冲区发送到网络上。但是并不代表数据已经成功地被接收方接收当发送缓冲区空间不够大的时候,等到发送缓冲区空间足够大再发送调用recv函数并且套接字没有数据可读时,recv函数会阻塞当前线程,直到有数据可读或者出现错误。如果 recv 函数返回,返回值代表内核的接收缓冲区中的数据已经被拷贝到用户空间。/* Windows下UDP阻塞socket*/
原创
发布博客 2024.06.24 ·
1116 阅读 ·
10 点赞 ·
0 评论 ·
12 收藏

【Linux】I/O多路复用模型 select、poll、epoll

在监听 socket 时,需要分配多个线程/进程维护多个 socket 连接,I/O 多路复用技术就是用来使用一个进程来监听维护多个 socket 连接多路:I/O 状态:可读、可写复用:使用一个线程/进程监听处理 I/O 事件,复用多个 socket 请求一、select 模型select 原理:1.创建一个文件描述符集合 fd_set set 0 不监听 1 监听2.设置文件描述符的状态FD_ZERO(&set); 初始化监听集合,将位码初始化为 0FD_SET(int s
原创
发布博客 2024.06.20 ·
1269 阅读 ·
28 点赞 ·
0 评论 ·
23 收藏

【C++】Template模板

Template在 C++ 中 模板被用于编写通用、可复用的代码,通过使用模板,可以避免重复编写相似的代码,提高代码的复用性和可维护性。模板分为函数模板和类模板,模板是泛型编程的基础,可以代表多个类型函数模板用于定义通用的函数,可以接受不同的参数,模板 T 会自动推导类型add 函数中可以接受 int型与 float型参数
原创
发布博客 2024.06.15 ·
468 阅读 ·
7 点赞 ·
2 评论 ·
8 收藏

【MySQL】事务的特性和隔离级别

数据库事务代表了对数据库进行的一系列修改操作。这些操作要么全部执行,要么都不执行,事务保证了数据的完整性和一致性。一、事物的基本特性 ACID1.原子性(Atomicity)事务中的全部操作在数据库中是不可分割的,要么全部完成,要么全不执行。事务是最小工作单元,不可再分2.一致性(Consistency)事务必须使数据库从一个一致性的状态变换到另一个一致性的状态数据库的完整性约束不能被破坏3.隔离性(Isolation)在事务完成之前,对于外部是不可见的。即一个事务不能看到其他
原创
发布博客 2024.06.14 ·
766 阅读 ·
20 点赞 ·
1 评论 ·
12 收藏

【MySQL】锁机制

锁对数据并发访问的一致性、有效性尤其重要,锁冲突影响数据库的性能。一、数据库锁分类按照锁属性分为:共享锁(Share Lock):又称为读锁、S 锁,多个事务对于同一数据可以共享一把锁,只可读不可改。支持并发读取排他锁(eXclusive Lock):又称为写锁、X 锁,一个事务获得了一个数据的排他锁,其他事务就不能获得锁,可读可改按照锁的粒度分为:行锁(InnDB):只锁定某一行或多行,不对其他行有影响。开销较大;可能会出现死锁;锁粒度小,并发度高表锁(InnDB、MyIsam):锁整
原创
发布博客 2024.06.13 ·
600 阅读 ·
4 点赞 ·
0 评论 ·
9 收藏

【C/C++】观察者模式

观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。一、观察者模式的实现1. 定义观察者接口:包含 update 更新方法,定义为虚函数2. 创建具体观察者:实现观察者接口,定义接收到通知时的更新动作3. 定义主题接口:添加、删除和通知观察者4. 创建具体主题:实现主题接口,实现观察者列表,更新数据时通知观察者当主题对象状态发生变化时,它的所有依赖者(观察者)都会自动收到通知并更新
原创
发布博客 2024.05.27 ·
552 阅读 ·
6 点赞 ·
0 评论 ·
4 收藏
加载更多