一句话理解
Template Metaprogramming 是 C++ 需要单独钉住的一块。
为什么要学
后面写更大的程序时,Template Metaprogramming 会反复出现。先在小例子里跑通。
讲解
学习:
- 编译期计算
- 类型计算
- recursion template
- specialization
- SFINAE
- enable_if
- type_traits
- constexpr
- Concepts
例子
#include <bits/stdc++.h>
using namespace std;
int main() {
// 本课:Template Metaprogramming
cout << "ok\n";
return 0;
}
输出:
ok
动手
下面的编辑器就在浏览器里编译运行,不用装本地编译器。改一改数字、再点运行。