08 2024 档案
摘要:目录容器算法查找去重排序迭代器差值遍历容器复制元素全排列取集合搜索计数限制数值范围填充等于二分搜索移除 容器算法 <algorithm>是c++自带的容器算法,提供一系列实用的算法。在谈到容器算法,我们大概率会用到谓词predicate,谓词返回的类型是布尔类型(bool)可以是lambda表达式、
阅读全文
摘要:C编码规范 宏定义:除去返回值,其它使用宏定义或者枚举定义数字 #define MAX 1 输入参数校验:每次传入的参数都要进行判别参数是否有问题。 结构分配内存后,要进行初始化,不然其指针会指向异常区域并不为空 数据库最好要名字大写,可读性高 使用宏定义,定义基础的函数比如SQL语句 使用链表,所
阅读全文
摘要:C++/C差别 typedef 和 using的差别,typedef可以用来定义一个类型,也可以用于定义别名。using还是做不到定义类型,但是可以用于别名。 void Aadd(){ /* code */ } void Badd(){ /* code */ } typedef void (*PFu
阅读全文
摘要:目录C++11新特性库特性std::movestd::forwardstd::threadstd::to_string()type_traits类型特性库智能指针std::chronotuples元组std::tie绑定std::array数组容器unordered containers未排序容器s
阅读全文
摘要:目录C++11新特性范围for循环移动语义特殊成员函数转换构造器显式转换函数内联命名空间非静态数据成员初始化右角括号引用限定成员函数尾部返回类型noexcept限定符char32_t 和char16_t标准类型原始字面字符串 C++11新特性 范围for循环 std::vector<int> num
阅读全文
摘要:目录C++11新特性语言特性右值引用移动语义转发引用可变参数模板列表初始化静态断言类型推导lambda表达式decltype类型声明类型别名 C++11新特性 总结C++11特性时发现整个内容较多,建议查看前先查看目录。 语言特性 右值引用 右值的分类为将亡值和字面量。将亡值就是将要销毁的对象以及临
阅读全文
摘要:目录C++11新特性语言特性nullptr空指针强类型枚举constexpr声明属性委托构造用户定义语义override显式虚重载Final限定符:限定的东西无法继承default函数deleted函数 C++11新特性 语言特性 nullptr空指针 nullptr空指针的使用可以规避掉以往设置为
阅读全文
摘要:单调证需要一直保证栈中元素是按序排列的。插入元素时首先检查,循环检查栈顶元素是否符合条件,不符合则弹出。不需要再将弹出元素插入回去。如果插入回去的话,其实整套程序逻辑实现就会多此一举,不如直接插入之后sort()即可。 class MyMonoStack{ public: // constructo
阅读全文
摘要:字符串处理 字符串去分割符 void RemoveDelimiter(string& str) { array<char, 2> delimiterArray{',', ' '}; for (int i = 0; i < str.size(); ++i){ if (auto it = find(de
阅读全文
摘要:位运算 位运算一般用于直接进行整数加减乘除等基础运算效率更高,但是现在的C++编译器直接进行加减运算,并没有明显加快,但是理解实现逻辑是必要的。如果需要对很大的数进行运算,建议使用字符串进行运算。 两数相加 原码相加即可。 void BitAdd(int a, int b) { // a + b w
阅读全文
摘要:PCIe简介 Peripheral Component Interconnect Express (PCI),高速串行计算机扩展总线标准,PCIe对外围设备的组织方式是树形结构。 拓扑结构 根root-complex: 树的根部直接连接到CPU和内存,通常集成在主板的芯片组中。根是所有PCIe设备的
阅读全文
摘要:RDMA(Remote Direct Memory Access) RDMA顾名思义是一种直接访问内存技术。它能够实现的是一台计算机内存到另一台计算机内存之间的通过网络直接访问,不涉及两台计算机的操作系统。因此有着高吞吐、低时延网络等优点。RDMA协议栈都固定在网卡中。 应用场景 应用在需要低延迟、
阅读全文
摘要:C++20新特性 语言特性 协程 concept概念 指定初始化器 lambda表达式模板语义 范围for循环增加初始化器 [[likely]] [unlikely]属性 废弃隐式捕获this 非类型模板参数的类类型 constexpr虚函数 explict(bool) 立即函数 using enu
阅读全文
摘要:目录C++14新特性语言特性二进制字面量通用lambda表达式lambda捕获初始化器返回类型推导decltype(auto)类型声明推导使用范围更广的constexpr变量模板化[[deprecate]]属性库特性用户定义字面量的对于标准库类型编译时整数序列std::make_unique创建唯一
阅读全文
摘要:目录C++17新特性语言特性使用auto声明非类型模板参量折叠表达式内联变量constexpr lambda列表初始化推导新规则嵌套命名空间结构绑定选择语句初始化器constexpr ifUTF-8 字面字符枚举列表直接初始化[[nodiscard]] [[fallthrough]] [[maybe
阅读全文
摘要:C++特性 C++主要版本: 可以通过draft/papers at main · cplusplus/draft (github.com)查看C++草案。 C++98: C++的第一个国际标准ISO/IEC 14882:1998,包括的特性有:模板、标准模板库、命名空间、异常处理等。 C++03:
阅读全文
摘要:Makefile简介 Makefile是一种特殊格式的文件,被make工具使用来管理软件的构建过程。Makefile定义了一组规则和依赖关系,告诉make如何编译和链接程序。 Makefile语句 TARGET: PREREQUISTS COMMAND Makefile的语句由上述三部分组成,例如t
阅读全文
摘要:Linux内核基础 楔子 这部分的内容首先要回忆一下计算机的基础知识,基本的计算机结构包括CPU(算数逻辑单元ALU、控制单元CU)、存储器、输入和输出。CPU和其它设备是通过总线连接的。CPU执行的基础被称为指令集,CPU执行存储器存取指令时:CPU发出存取信号,然后就从存储器存取数据。存取器通过
阅读全文
摘要:TCP/IP协议栈 应用层 DNS协议 传输层 TCP协议 TCP协议报文结构 源端口 目的端口 序列号 确认号 头长度header length or data offset 保留字段reserved 状态字段 URG ACK PSH RST SYN FIN 窗口字段 校验和 紧急指针 可选字段
阅读全文

浙公网安备 33010602011771号