0%

记录一下linux 命令行光标移动快捷键。

  • ctrl+a:光标移到行首。
  • ctrl+b:光标左移一个字母
  • ctrl+c:杀死当前进程。
  • ctrl+d:退出当前 Shell。
  • ctrl+e:光标移到行尾。
  • ctrl+h:删除光标前一个字符,同 backspace 键相同。
  • ctrl+k:清除光标后至行尾的内容。
  • ctrl+l:清屏,相当于clear。
阅读全文 »

bitset

bitset是STL提供的用于记录01串的容器,也就是bitset的每个元素只能为0/1

bitset主要是用于存储二进制位,在需要大量二进制计算的项目中,直接使用bitset比利用数组或者其它方式要更为方便,位运算在存储状态、模拟行动、搜索很多方面有非常巨大的优势。

阅读全文 »

模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。

模板是创建泛型类或函数的蓝图或公式。库容器,比如迭代器和算法,都是泛型编程的例子,它们都使用了模板的概念。

每个容器都有一个单一的定义,比如 向量,我们可以定义许多不同类型的向量,比如 vector 或 vector

阅读全文 »

头文件中的 #ifndef/#define/#endif 作用主要是防止该头文件被重复引用。

假设一个工程里面有4个文件,分别是a.cpp,b.h,c.h,d.h。
a.cpp的头部是:

1
2
#include "b.h "
#include "c.h "

阅读全文 »

TinyWebServer

参考Github在Linux下搭建C++轻量级Web服务器,快速实践学习网络编程,搭建属于自己的服务器.

  • 使用线程池 + epoll(ET和LT均实现) + 模拟Proactor模式并发模型

  • 使用状态机解析HTTP请求报文,支持解析GET和POST请求

  • 通过访问服务器数据库实现web端用户注册、登录功能,可以请求服务器图片和视频文件

  • 实现同步/异步日志系统,记录服务器运行状态

  • 经Webbench压力测试可以实现上万的并发连接数据交换

阅读全文 »