阶乘元规划
Factorial Meta Programming
我们最近在大学上了一堂关于元编程的课程...... 所以我开始实现我自己的阶乘元代码......这就是结果。
template<int i>
struct fak{
fak<i-1> next;
int fakul = i * next.fakul;
};
template<>
struct fak<1>{
int fakul = 1;
};
同时,我们脚本的变体...
template<int i>
struct fakCool{
static const int fak = i * fakCool<i-1>::fak;
};
template<>
struct fakCool<1>{
static const int fak = 1;
};
看到脚本结果后,我的问题是...这两种尝试都是元编程吗?如果是这样,它们之间的区别在哪里?实现阶乘元的常用方法是什么?
第二个代码 :-
-
不需要实例化对象。
-
它在编译时进行计算。由于类中的静态成员(
第一个代码,需要一个对象被实例化,并在运行时进行计算。
因为元编程是关于使用代码生成代码,所以在编译完成后生成代码是没有用的,因为即使代码被生成,代码也无法编译。因此,所有元编程仅在编译时发生。第一个程序不是元编程。
相关文章:
- 在 C++ 中的数组上使用阶乘函数
- 阶乘问题在 c++ 中给出错误的输出
- 大数的阶乘给出错误的输出
- 什么模板用法在阶乘中更好
- 为什么我在C++阶乘函数中出现编译错误?
- 计算阶乘的 C++17 倍表达式中的错误
- 为什么 Lisp 中 1000 阶乘的计算如此之快(并显示正确的结果)?
- 在C++中执行 N 阶乘编译时间的 3 种不同/相同方法
- 平方模型为零,阶乘模型问题
- 阶乘元规划
- 阶乘-c++ 我想以不同的方式打印
- 阶乘函数只返回C++中输入的答案
- 阶乘使用循环递增给出垃圾值
- 大 n 表示阶乘
- 为什么我不能在非常量表达式上使用此模板阶乘函数?
- 计算最大数字的阶乘
- 这个阶乘程序内部发生了什么?
- 返回阶乘C++的递归函数
- C++ 中是否有任何内置阶乘函数?
- 元编程,阶乘,c++, boost