- 博客(101)
- 收藏
- 关注
原创 C++中的四种强制转换
static_cast 是 C++ 中的一种类型转换操作符,用于非多态类型的转换,如基础数据类型之间的转换、枚举与整数的转换、类层次中的上行或下行转换等。它不能用于不相关类型之间的转换。reinterpret_cast 则用于低层次的类型重新解释,如指针与整型之间的转换。const_cast 主要用于移除变量的 const 属性。dynamic_cast 用于多态类型的转换,特别是父类与子类之间的安全转换。强制类型转换应谨慎使用,以避免潜在的错误。
2025-05-18 18:05:11
822
原创 git工具使用详细教程-------命令行和TortoiseGit图形化
本文介绍了Git的基本概念、常用命令以及图形化工具TortoiseGit的使用方法。Git结构包括工作区、暂存区、本地库和远程库,常用命令如git init、git add、git commit等用于代码管理。TortoiseGit提供了图形化界面,简化了Git操作,如创建仓库、提交代码、更新代码、回滚版本、分支操作等。此外,还介绍了如何解决冲突、忽略文件以及远程仓库的操作,如克隆、推送和拉取。通过这些工具和命令,开发者可以更高效地进行版本控制和代码管理。
2025-05-15 16:40:21
855
2
原创 --图--
在一些应用问题中,需要。在此过程中。适合于描述这类问题的抽象数据类型称为并查集(union-findset)。下边是我画的一个示例图,好好看看如何划分集合的规则存储并查集的数组有如下特点:1.2.3.下边是并查集合并集合的一个示例图这里将例子中的第二个集合合并到第一个集合。这里的并查集变化如上。通常并查集有如下功能:1、查找元素属于哪个集合沿着数组表示的树形关系,向上找到根节点,即数组中该集合表示负数的位置。2、查看两个元素是否属于同一个集合。
2025-04-17 20:06:05
840
原创 visual studio 2022配置和使用jsoncpp
2、在解压文件的makefiles文件下有个vs71,在vs71中有visual studio项目,不过这里的项目是visual studio2008写的,这里打开之前需要升级。升级完成之后,选中lib_json文件夹进行配置,生成想要的库文件。将解压文件夹下的json文件夹拷贝至新建libjson文件下的include目录,下边是json文件的位置。配置运行时库类型,我刚刚生成库文件的时候选择的MTd类型,所以现在也要选MTd类型。将编译的库文件拷贝至新建文件夹得bin目录,下边是生成库文件得位置。
2024-06-28 15:18:28
1725
4
原创 visual studio 2022配置和使用protobuf
上图证明,我真的测了好多遍,测了好多版本的protobuf,花了很多时间。不过好在最后在vs2022上测通了。
2024-06-28 12:27:26
3559
8
原创 boost asio异步服务器(3)增加发送队列实现全双工通信
构造发送节点,管理发送数据。发送节点的类如下。这个发送节点用于保证发送和接收数据的有效性。
2024-06-11 19:57:42
979
原创 boost asio异步服务器(2)实现伪闭包延长连接生命周期
在函数内部实现一个子函数,子函数的作用域内能访问外部函数的局部变量。。但是由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成程的性能问题,可能导致内存泄露。在上次的echo异步服务器中,在极端情况下客户端关闭导致触发写和读回调函数,二者都进入错误处理逻辑,进而造成二次析构的问题。这里,使用C++11构造成一个伪闭包的状态延长session的生命周期。
2024-05-28 16:14:25
1137
原创 boost asio异步api(1)
服务器有一个欢迎套接字,专门用来接收新的连接的。当每次收到新的连接的时候,欢迎套接字就会产生新的普通套接字用来处理这个连接。这里处理每个连接的套接字都会开启一个Session去处理单个连接。
2024-05-16 20:11:24
1300
原创 VMware15安装和Ubuntu搭建
VMware15和ubuntu镜像下载链接:https://pan.baidu.com/s/1tgQ_sIQKbXxe8zPgAXEDmA提取码:489q。
2024-02-28 13:56:15
540
原创 反转链表+牛客
最后,我们得想这个递归的出口条件。1、当输入一个空指针的时候,直接返回2、当输入的链表只有一个节点的时候,也可以直接返回。那么我们可以把一个链表看作两个部分,一个头节点和一个已经完成反转并带有头指针这两个部分。(即递归思想,大化小)这个题目的函数体结构是想传入一个头指针,然后返回反转后的链表的新的头指针。剩下的则只需要将这两部分的链表进行反转即可。
2024-02-28 13:53:40
396
原创 重建二叉树
思路:先序遍历的顺序是根左右,中序遍历的顺序是左根右。也就是说可以通过先序序列的第一个元素确定位根节点位置,在去中序中找到根节点位置,在该位置的左右即为左右子树。
2023-09-12 04:46:51
244
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人