![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 59
梁永欣的博客
这个作者很懒,什么都没留下…
展开
-
关于c++模版
实现一个MessageHandle消息路由:#include <functional>#include <iostream>#include <map>#include <memory>#include <string>using namespace std;///////////////template <class T>class test{public: int getType(){return T:原创 2021-03-31 12:04:27 · 100 阅读 · 0 评论 -
关于STL map的一些疑问
记录一下一个疑问:#include <string>#include <map>#include <iostream>#include <functional>using namespace std;typedef function<void(int)> ff;class vv{public: int v; vv(int x):v(x){} void f1(int a){} void f2(int b){} b原创 2021-03-30 22:04:17 · 101 阅读 · 0 评论 -
多路复用IO-EPOLL
epoll是什么 epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的描述符集合就行了。epoll除了提供select/poll那种IO事件的水平触发(Level Triggered)外,还提供了边缘触发(Edge Trigger...原创 2021-03-15 11:47:01 · 228 阅读 · 0 评论 -
reids源码剖析-sds
sds(simple dynamic string,简单动态字符串)在redis源码sds.h文件里定义了这个数据结构 typedef char *sds; sds其实就是一个字符串指针由于使用的场景不一样,所以redis定义了五个基础的数据结构 分别是 sdshdr5 sdshdr8 sdshdr16 sdshdr32 sdshdr64,看下源码是这么定义的typedef char *sds;/* Note: sdshdr5 is never used, we just acces...原创 2021-01-28 12:08:04 · 217 阅读 · 0 评论 -
c++连接mysql的连接池实现
connector_pool头文件#ifndef __DB_CONNECT_POOL__H#define __DB_CONNECT_POOL__H#include <string.h>#include <mysql/mysql.h>#include <mutex>#include <condition_variable>#include <list>struct db_config{ std::string host;原创 2020-07-19 16:38:39 · 740 阅读 · 0 评论 -
c++ 位运算
今天翻看两年前写的一个函数,咋一看还差点迷糊了void setBitValue(int &v, int beg_b, int end_b, int bv){ int tv = pow(2, end_b - beg_b + 1) - 1; bv &= tv; tv = ~(tv << (beg_b - 1)); v &= tv; v |= (bv << (beg_b - 1));}...原创 2020-07-17 14:36:46 · 68 阅读 · 0 评论