SF
代码回廊
代码回廊
注册登录
关注博客
注册登录
主页
关于
RSS
C++笔记: 左值和右值
Totn
2023-10-30
阅读 2 分钟
491
C++笔记: 大根堆排序
Totn
2023-10-28
阅读 7 分钟
1.5k
大根堆排序则是基于大根堆实现的排序算法,基本思想是将待排序的序列组成一个大根堆,然后依次取出顶元素(即最大元素),并将剩余元素构成新的大根堆,重复以上过程直到最后一个元素,就得到了完全排好序的序列。大根堆排序是一种原地排序算法,所以其空间复杂度为O(1),只需要常数级别的空间;而时间复杂度则为O(nlogn)
C++练手:写一个简单的线程池
Totn
2023-10-27
阅读 5 分钟
591
线程池的工作原理大概如下:在构造函数中,创建指定数量的工作线程,并将它们存储在 workers 向量中。每个工作线程都通过无限循环来执行任务队列中的任务。设置一个public函数,接收新任务,封装为 std::function<void()> 并添加到任务队列中。等待的工作线程会被唤醒并获取任务执行,直到线程池被销毁或调用 stop...
C++笔记: std::condition_variable用法
Totn
2023-10-27
阅读 1 分钟
471
创建std::condition_variable对象可以通过以下方式创建std::condition_variable对象: {代码...}
C++笔记: 运算符重载
Totn
2023-10-26
阅读 2 分钟
230
当我们在C++中定义一个类时,我们可以通过运算符重载的方式来改变该类对象与其他对象之间的行为。运算符重载是一种特殊的函数重载,它允许我们重新定义C++内置运算符的含义,以适应我们自己定义的类类型。
C++笔记: std::vector的底层原理和扩容
Totn
2023-10-25
阅读 2 分钟
1.6k
std::vector是C++标准库中的一个容器,它提供了动态数组的功能。它的底层实现是通过连续的内存块来存储元素,这使得它能够在O(1)的时间复杂度下进行随机访问。
C++笔记: 二叉树与自平衡
Totn
2023-10-24
阅读 2 分钟
431
二叉搜索树二叉搜索树(Binary Search Tree,BST)是一种常见的数据结构,它是一棵二叉树,其中每个节点存储一个键值,且满足以下性质:左子树中的所有节点的键值小于该节点的键值。右子树中的所有节点的键值大于该节点的键值。左右子树必须也是二叉搜索树。通过这种结构,我们可以利用BST进行高效的插入、查找、删除等...
C++笔记: 多态
Totn
2023-10-24
阅读 2 分钟
266
虚函数:在基类中声明虚函数,通过在成员函数前面加上virtual关键字来标识。虚函数允许子类对其进行重写(覆盖),从而实现多态。基类中的虚函数只有函数声明,没有具体的实现。
C++笔记: 常量成员函数
Totn
2023-10-24
阅读 2 分钟
535
2 对象调用: 常量成员函数可以被常量对象和非常量对象调用, 对于常量对象, 只能调用常量成员函数;而对于非常量对象, 常量成员函数和非常量成员函数都可以调用.(常量调常量, 非常随便调)
记一次奇怪的接口报错及解决
Totn
2022-03-02
阅读 2 分钟
2.1k
记一次解决接口报错 The GET method is not supported for this route. Supported methods: POST.的bug;
Octane+Swoole提升程度测试
Totn
2021-08-03
阅读 4 分钟
3k
测试过程硬件:虚拟机VirtualBox, 1核2G, CPU为i5-8400;系统: Centos7 + 宝塔;php环境: 启用opcache, session启用memcached缓存,文件缓存启用redis;