C++ Meta Programming
网上看到一个99乘法表,代码不全不知道这个代码怎么写的
#include
using namespace std;
inline void printLine(int i, int j) {
cout << i << " * " << j << " = " << i * j << endl;
}
template
struct Line {
inline static void print() {
Line::print();
printLine(I, J);
}
};
template
struct Line {
inline static void print() {
printLine(I, 1);
}
};
template
struct Group {
inline static void print() {
Group::print();
cout << endl;
Line::print();
}
};
template
struct Group {
inline static void print() {
Line<1, NUM>::print();
}
};
template
struct Meta99 {
inline static void print() {
Group::print();
}
};
int main() {
Meta99<20>::print();
return 0;
}
...全文
相关推荐
meta-programming简介
这种技术最初在C++中通过模板元编程(Template Meta-programming)得到广泛的应用,使得C++不仅仅是一种面向对象的语言,更成为了一种支持泛型编程和元编程的强大工具。
Think in CPP
书中会讲解模板的工作原理,如何使用模板创建泛型算法,以及模板元编程(Template Meta-Programming),这是一种在编译时进行计算的技术,能极大地提升代码的效率。3.
CPP with Financial Applications_ Ben Van Vliet
元编程(Meta Programming)元编程是一种在编译时执行计算的技术。通过使用模板元编程,可以在编译时解决某些问题,从而提高运行时性能。本书将教授读者如何利用模板元编程优化程序。
cpp_metaprog_HandsOn_C++_c++template_metaprogramming_
C++ Template Meta-programming: Concepts Tools and Techniques from Boost and BeyondC++ Template Meta-
modern_cpp:MKBN现代C ++课程代码示例
**模板元编程**:C++的模板元编程允许在编译时进行计算,增强了类型系统的功能,如Boost库中的 MPL(Meta Programming Library)。7.


