自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hero_th的博客

一只理智糖

  • 博客(395)
  • 收藏
  • 关注

原创 [零声教育] C++高性能日志课程总结

二者均都有缓冲区,系统调用write的效率取决于你buf的大小和你要写入的总数量,如果buf太小,你进入内核空间的次数增大,效率就低下。当 buf_size 设置的比较小的时候,缓冲区会容易写满,频繁使用系统调用,OS会进行变态,增加耗时。日志写满一个缓存队列的话,才去notify 日志读取线程将日志从缓存队列中取出然后写入,然后下一条日志写到另外一个缓存队列中去。异步日志的高性能:支持批量写入,日志达到一定量的时候,才会调用write去写入文件。而不是一个日志写到缓存队列中就通知线程进行日志读取。

2024-03-11 12:57:28 551

原创 [Linux网络编程] I/O 模型代码演示

实现异步读取文件的方式。在异步读取文件的情况下,程序可以在等待文件读取完成的同时执行其他任务。展示了同步读取文件的方式,而。

2024-03-11 12:54:40 120

原创 vscode 远程开发golang

然后比如要新建一个learning的文件夹,则需要在该文件夹下初始化 Go Modules。然后用ssh远程连接主机,打开goProject目录,然后安装gotools全部的工具。我的go项目路径是:/home/henry/goProject。如果你的工作区包含多个模块,你可以在工作区的根目录创建一个。在~/.bashrc文件最后加入下面三行。文件,其中包含模块的信息。

2024-03-08 12:44:03 350

原创 [Ubuntu] gdb安装、编译及使用

centossudo yum updatesudo yum install gdb ubuntusudo apt updatesudo apt install gdb编译准备正常编译,不带有gdb调试信息g++ test.cpp -o test加入gdb调试信息g++ -g test.cpp -o test使用gdb1. 启动gdbgdb 可执行程序gdb test2. 命令行调试1. 启动&退出命令 解释 run 缩写 ,如果程序中

2024-03-08 12:39:46 1029

原创 [c++] operator 运算符重载

这种赋值功能,这个语句的本质就是操作符重载这个函数做左值,当函数返回值做左值时需要返回引用类型,所以我们返回值设计为了int&假设我们有一个自己定义的数组Array,我们需要进行[]操作符重载以实现 Array[i]数组元素快速访问 和 Array[i]=9 快速修改等操作。我们以成员函数的方式进行重载,所以对象直接通过this指针隐式的传递了,参数只需要有一个int,因为我们业务中的索引是通过int类型;当运算符的左边是类时,我们推荐使用成员函数重载,因为有一个参数已经被this指针包含了。

2024-02-08 11:14:56 272

原创 [Ubuntu] Disabled IPv6

上一步已经禁用了 IPv6,但是重启后会复原。要想重启后也禁用,则必须做这一步。

2024-02-08 11:07:44 700

原创 解决虚拟机卡顿、卡死、待机后不动的情况(真实有效

本人环境:虚拟机配置:4核 4g。

2023-12-24 19:07:06 7876 3

原创 免费获得DeepL Pro API 密钥(Zotero+DeepL)

扫码进行注册就可以获取20w字符量,填写我的邀请码可以多获取20w字符量。永久有效。邀请码:pnnyQvHdTw然后在右上角【用户中心】点开,就会显示API密钥。

2023-12-22 14:53:59 1667 1

原创 【Solved】:autoreconf: error: automake failed with exit status: 1 error

【代码】【Solved】:autoreconf: error: automake failed with exit status: 1 error。

2023-11-14 22:00:52 556

原创 ubuntu 源码编译安装make过程很慢问题解决

【代码】ubuntu 源码编译安装make过程很慢问题解决。

2023-11-08 14:41:10 608

原创 connection timed out Could not connect to ppa.launchpad.net:80 (185.125.190.52), connection timed ou

挂了梯子去google搜寻后,有大佬给出以下建议:When I experience this (occasionally with no network changes), I find that using apt-get instead of apt works.意思就是将apt换成apt-get结果这种方法还真的成功,真的让我匪夷所思,我也不知道原因。如果有知道原因的友友,欢迎评论~

2023-11-07 22:00:02 540 4

原创 ubuntu连接蓝牙耳机

本人也是经历了重重困难,特写此篇希望对读者能够带来帮助。

2023-11-07 21:41:17 1170

原创 C++ 命名空间(namespace)

int a = 10;return 0;//10命名空间只能在全局范围内定义。

2023-10-22 15:19:27 213

原创 [github]实用高级搜索技巧,让你更高效的在网上找开源项目做!

比如我自己想找github上面找一个关于爬虫的项目那么就可以筛选掉很多不符合要求的项目下面是一些主要常用的搜索范围限制词用法。

2023-10-20 15:29:53 97

原创 力扣-463.岛屿的周长

注意观察,每一个完整的方块,边长都是加4,一旦这个方块有其他的方块相邻的话,那么这两个方块总边长就要减少2.因此我们遍历二维数组的时候,判断岛屿方块的上面还有左方是否有相邻即可。

2023-10-14 21:58:02 185

原创 力扣-461.汉明距离

直接比较x,y二进制中的每一位,如果不同则cnt加一,并且x,y每次右移一位。

2023-10-14 21:25:42 221

原创 力扣-459.重复的子字符串

看题解的KMP自己手动实现太难了,我还是选择容易理解的暴力枚举叭。

2023-10-14 15:45:57 164

原创 力扣-448.找到所有数组中消失的数字

【代码】力扣-448.找到所有数组中消失的数字。

2023-10-14 14:58:03 177

原创 力扣-434.字符串中的单词数

利用C++中的 stringstream 指定字符分割字符串。

2023-10-13 14:56:21 102

原创 力扣-415.字符串相加

模拟:竖式加法从后面往前逐位相加,然后将相加的结果模10,添加到答案字符串中去最后需要判断一下是否还有进位问题需要将答案string翻转。

2023-10-13 14:22:05 99

原创 排序算法(stable_sort(), sort())

sort函数我相信大家都不陌生,今天介绍一个新的排序算法stable_sort。

2023-10-13 13:26:40 552

原创 力扣-2562.找出数组的串联值

双指针:当左指针跟右指针重合的时候,此时数组剩中间最后一个元素。

2023-10-12 15:08:46 92

原创 C++ vector 自定义排序规则(vector<vector<int>>、vector<pair<int,int>>)

平时的编译器里面自己写的时候 cmp函数前面加不加static都行,但是leetcode刷题时,代码还有实现都是写在类里面的,cmp函数前面一定要加上static修饰。因此建议所有的返回类型都为static bool 类型。这里不能使用C++11中的auto关键词进行自动类型推导C++ sort函数自定义cmp函数中参数带&符号//如果第一元素相等,则比较第二元素。

2023-10-11 22:52:30 3701

原创 C++ sort函数自定义cmp函数中参数带&符号

今天在刷leetcode每日一题的时候,用到了sort函数且需要自定义cmp排序规则。然后发现答案几乎是前篇一律:cmp函数中参数都带有&,并且使用const关键字修饰。这不禁让我产生了疑惑,并搜集了网上大量资料加上自己的实践,与君共享。对于初学者,使用cmp时,一般是这样的但是在刷leetcode的时候,更多的却是。

2023-10-11 22:21:00 337

原创 力扣-2512.奖励最顶尖的k名学生

记录caibi学习的第n天,这道题折磨了我两个多小时,终于用自己的思路ac了大佬建议参考官方题解思路用一个map记录学生id及其得分情况用两个set存放 正面词汇集和负面词汇集遍历report,然后获取每一个单词,跟两个set进行查找,若正面则map中该id学生得分+3,负面则-1因为map中没用根据value排序的函数,我们将得到的map用vector存放,然后自定义vector排序规则最后用答案数组取出vector前k个元素就好。

2023-10-11 19:10:36 76

原创 力扣-412.Fizz Buzz

【代码】力扣-412.Fizz Buzz。

2023-10-10 21:07:50 217

原创 力扣-404.左叶子之和

attention:先看清楚题目,题目说的是左叶子结点,不是左结点【泣不成声】遇到像这种二叉树类型的题目呢,我们一般还是选择dfs,然后类似于前序遍历的方式加上判断条件即可。

2023-10-07 21:12:34 184

原创 力扣-383.赎金信

使用一个hashmap 或者一个int数组存储第二次字符串中每一个字符及其出现的次数遍历第一个字符串,讲出现的重复字符减1,若该字符次数已经为0,则返回false。

2023-10-03 21:48:22 236

原创 力扣-367.有效的完全平方数

【代码】力扣-367.有效的完全平方数。

2023-10-03 21:37:33 223

原创 力扣-350.两个数组的交集||

首先遍历第一个数组,用哈希表存储每个数字及其出现的次数。然后遍历第二个数组,每出现重复的数字,并判断该数字在哈希表的次数是不是大于0,如果大于则存入答案数组,并将哈希表次数减1,直接遍历结束。

2023-10-03 21:15:49 238

原创 Qt Creator 使用技巧

使用技巧功能快捷键解释Switch Header/SourceF4在同名的头文件和源程序文件之间切换Follow Symbol Under CursorF2变量:跳转到声明;函数:声明和定义切换Refactor Rename Symbol Under CursorCtrl+Shift+R改名称,将替换所有用到这个符号的地方RefactorAdd Definition in .cpp在函数原型上右键选择refactor为函数原型在cpp文件中生成函数体

2023-10-02 20:18:20 311

原创 力扣-345.反转字符串中的元音字母

将s中的元音字母存在字符串sv中,并且使用一个数组依次存储元音字母的下标。然后将字符串sv进行反转,并遍历元音下标数组,将反转后的字符串sv依次插入到源字符串s中。

2023-10-02 13:16:01 145

原创 力扣-338.比特位计数

直接暴力做法:计算从0到n,每一位数的二进制中1的个数,遍历其二进制的每一位即可得到1的个数。

2023-10-02 12:44:01 169

原创 力扣-303.区域和检索-数组不可变

需计算数组nums在下标right 和 left-1 的前缀和,然后计算两个前缀和的差即可。需要注意的是,当left为0的时候,如果还是left-1则会发生数组访问越界错误。

2023-10-02 11:38:36 142

原创 C++ 迭代器(iterator)

循环过程终止时,mid或者等于end或者指向要找的元素。如果说mid等于end,说说明text中没有我们要找的元素。任何一种可能改变vector对象容量的操作,比如push_back,都会使该vector对象的迭代器失效。但凡是使用了迭代器的循环体,都不要向迭代器所属的容器添加元素。或者是两个迭代器相减,就可以得到中间隔了多少个元素。举个例子,下面利用迭代器实现。

2023-09-30 12:36:17 221

原创 C++ Primer----1.5类简介 章节练习

【代码】C++ Primer----1.5类简介 章节练习。

2023-09-26 22:42:17 87

原创 Clion 中 C++ 输入终止符

【代码】Clion 中 C++ 输入终止符。

2023-09-26 22:35:03 211

原创 力扣-349.两个数组的交集

使用两个哈希集合,其中一个用来存储第一个数组,第二个来存储两个数组的交集,因为集合自带去重功能,因此最后用数组来接收就好了。

2023-09-25 12:56:36 133

原创 力扣-290.单词规律

【代码】力扣-290.单词规律。

2023-09-24 16:21:15 119

原创 力扣-234.回文链表

用一个数组或者字符串将链表中的值依次存入,然后利用数组遍历方法比较双端元素。

2023-09-24 11:22:39 79

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除