Parsing CSV Files in C++20
开窗见月,霜天悄然,欲更小文,以为消遣。 本篇以解析 CSV 为例,再谈 C++20 的使用。网上方法,颇为陈旧,看新方式何以优雅实现。 开始之前,定义为先: Comma-separated valu… Continue Reading Parsing CSV Files in C++20
Dive deep into the C++ core, and discover more!
开窗见月,霜天悄然,欲更小文,以为消遣。 本篇以解析 CSV 为例,再谈 C++20 的使用。网上方法,颇为陈旧,看新方式何以优雅实现。 开始之前,定义为先: Comma-separated valu… Continue Reading Parsing CSV Files in C++20
前两章主要集中于应用实践,理论概念都是蜻蜓点水,本章将重点放在这些概念原理上,深入讲解一下。 宏二段替换 源文件扫描后,宏被替换为目标内容,替换实际上分为两个阶段。 第一阶段的替换发生在参数替换之时。… Continue Reading 《产生式元编程》第三章 替换蓝染概念纤悉
上篇讲解了 Compile time for,它是遍历技术中的迭代方式之一,特别常用。 它一般与 Fold expressions 组合使用,它们两个,一个相当于编译期的 Range-based fo… Continue Reading T231119 几种遍历技术实现结构体成员计数的比较
先说明,本篇并不是说 Expansion statements。 遍历方式分为两种,自下而上叫迭代,自上而下叫递归。 递归往往需要多个函数(if constexpr 可以避免),一般迭代是一种更加自然… Continue Reading T231111 Compile time for
这篇稍微总结一下异构类型的迭代方法。 首先是静态异构类型,主要指的就是 tuple like 类型,它们可以使用 std::apply 迭代。 void print(auto tuple_like_v… Continue Reading T231104 异构类型迭代法