Li Miu 's Posts
C++ 反射 第一章 通识
占位,待录。
泛型 Lambda,如此强大!
最近发现泛型编程有了另一利器——泛型 Lambda,比想象当中要强大许多,威力不小,和大家分享一下。 本篇内容需要对泛型编程有所了解,若是读过之前更新的相关文章,食用更佳。 泛型编程 开始之前,先来简… Continue Reading 泛型 Lambda,如此强大!
新简化!typename 在 C++20 不再必要
根据提案 P0634-Down with typename,C++20 之后 typename 在有些地方不再必要。 原文主要内容如下: If X::Y — where T is a template… Continue Reading 新简化!typename 在 C++20 不再必要
那些值得使用的 C++ Attributes
介绍 今天这篇文章,我想跟大家探索下 Attributes 这个概念。 如果你还没有听过这个概念,或是一知半解,没咋用过,那正好表明它处于一个被忽略或是低估的位置。 Meeting C++ 曾经对此做… Continue Reading 那些值得使用的 C++ Attributes
Differences between keywords constexpr, consteval and constinit
C++20 新增了两个 const 相关的关键字,于是当前存在四个相似的关键字:const,constexpr,consteval 和 constinit。 接下来分别来进行讨论。 第一,经过 con… Continue Reading Differences between keywords constexpr, consteval and constinit
Simplify Code with “if constexpr” in C++17
Introduction 程序设计需要不断地做抉择,抉择便需用到逻辑分派。 Modern C++ 中,有多种方式完成这个任务,例如 Run-time if,Tag dispatching,SFINAE… Continue Reading Simplify Code with “if constexpr” in C++17
C++17: Simplify Code with Fold Expressions
本篇作为 Understanding variadic templates 的进阶内容,同时,Fold Expressions 也是 C++17 最常用的特性之一。 Fold Expressions … Continue Reading C++17: Simplify Code with Fold Expressions
Understanding variadic templates
GP and Templates(泛型编程与模板) 现实中许多问题错综而复杂,解决起来极为不易。 人们发现可以将这些问题拆解成更小的问题来进行解决。往往当把问题拆解到最小模块的时候,便能对问题产生新的… Continue Reading Understanding variadic templates
C++20 Coroutines: operator co_await
上篇介绍了 C++20 协程的诸多内容,独余 co_await 未曾涉及,它是协程中非常重要的一个关键字,用以支持挂起(suspend)和恢复(resume)的逻辑。 本篇便专门来对其进行介绍。 Aw… Continue Reading C++20 Coroutines: operator co_await
Demystifying C++20 Coroutines
Introduction 自 C++11 开始,很多更新都集中在并发支持上,从最初的线程基础支持,到如今的协程,C++ 已经日趋完善。 协程是继线程之后的又一利器,若论年龄,协程倒比线程要大。由于早期… Continue Reading Demystifying C++20 Coroutines
Using C++20 Formatting Library
新年第一篇,好久没写Modern C++主题了,这次来说说C++20的格式化库。 该标准库来自开源库fmtlib,作者为Victor Zverovich,提案为P0645R10。 目前为止,仍旧只有M… Continue Reading Using C++20 Formatting Library
各种网络模型背后的设计思路
问题 本篇将梳理前面讲过的所有网络模型,并在此基础上探究这些模型所涉及的设计思路。相当于前面只讲了What和How部分,这里专门来补充Why部分。因为若是一开始就从原理讲起难免枯燥乏味且晦涩难通,而有… Continue Reading 各种网络模型背后的设计思路
C++ 正则表达式
Introduction 若要判断一个输入的 QQ 号是否有效,你会如何处理呢? 首先你得分析一下其对应规则,依次列出: 长度大于5,小于等于11; 首位不能为0; 是否为纯数字? 规则既列,接着就该… Continue Reading C++ 正则表达式
网络模型之IOCP服务器实例二(四)
前言 这是IOCP的末篇了,本次的实例使用IOCP配合扩展函数来实现服务器,并对之前的版本做一些优化,比如这里使用了内存池,日志记录,所以这也是效率最好的一个版本,作为一个例子来说已经很完整了。 因为… Continue Reading 网络模型之IOCP服务器实例二(四)