元编程
qq_1410888563
这个作者很懒,什么都没留下…
展开
-
元编程:编译期if判断处理参数包
1.通过编译期if 判断。减少参数包特例化的步骤。C++17支持编译期if。原创 2023-01-08 12:29:50 · 125 阅读 · 0 评论 -
元编程:constexpr +特例化 判断质数
1.constexpr 函数支持在编译期间完成计算。2.特例化是模板中一种定义。原创 2023-01-08 11:07:54 · 183 阅读 · 0 评论 -
元编程:实现条件if判断 std::conditional
转载:C++ 模板元编程 学习笔记 - 狂奔~ - 博客园 (cnblogs.com)这一篇实现的if比较好,重点:目前C++提供了编译期间选择特性:std::conditional从C++11开始,可以通过type_traits来实现。因为type_traits提供了编译期选择特性:std::conditional,它在编译期根据一个判断式选择两个类型中的一个,和条件表达式的语义类似,类似于一个三元表达式。它的原型是:template< bool B, class T, clas原创 2021-12-27 22:28:00 · 412 阅读 · 0 评论 -
元编程:type_traits 类型萃取(integral_constant 、enable_if、is_integral、is_same、设定结构体传唯一类型参数)可以看懂代码背后逻辑
转载:type_traits 类型萃取原创 2021-12-26 22:30:04 · 351 阅读 · 0 评论 -
元编程:enum
转载:c++模板元编程二:用enum做数值计算_Dean Chen的专栏-CSDN博客重点://终止条件,需要特例化和,可变模板参数相反可变模板参数的函数终止需要放到前面。using namespace std;template<int N>class Factorial{public: enum { Result = N * Factorial<N - 1>::Result };};template<> //终原创 2021-12-27 22:03:12 · 186 阅读 · 0 评论 -
元编程:循环展开
转载:c++模板元编程三:循环展开_Dean Chen的专栏-CSDN博客_c++循环展开重点:总结:元编程就是在编译期间搞事情。这里利用了static 函数搞事情。如图,static静态变量,开辟一块内存。data段一开始就存储了这些信息。而static信息会在编译阶段就进行处理。...原创 2021-12-27 22:17:18 · 217 阅读 · 0 评论 -
元编程:switch/case语句编译时运行
转载:c++模板元编程五:switch/case语句编译时运行_Dean Chen的专栏-CSDN博客重点:说实在的,这个switch/case这么搞,让人对元编程失去期待,如果只是通过特例化来实现switch/case就没啥意义。应该是博主开启的方法不对,等我以后找找新的方法。目前先这么搞。...原创 2021-12-27 22:43:10 · 291 阅读 · 0 评论