c++ 模板元编程

听说模板元编程能在编译时计算出常量,简单测试下看看:

cpp 复制代码
template<int N>
struct Summation {
	static constexpr int value = N + Summation<N - 1>::value; // 计算 1 + 2 + ... + N 的值
};

template<>
struct Summation<1> {  // 递归终止条件
	static constexpr int value = 1;
};

constexpr int result = Summation<5>::value; // 即 5 + 4 + 3 + 2 + 1 = 15;

int main()
{
    cout << "1 + 2 + ... + 5 = " << Summation<5>::value << endl;
    return 0;
}

打印:

ok.

相关推荐
im_AMBER5 分钟前
Leetcode 03 java
算法·leetcode·职场和发展
轮到我狗叫了8 分钟前
力扣.1312让字符串成为回文串的最少插入次数力扣.105从前序和中序遍历构造二叉树牛客.拼三角力扣.57插入区间编辑
算法·leetcode·职场和发展
搂鱼11451415 分钟前
离散与组合数学 杂记
算法
Littlewith15 分钟前
Node.js:创建第一个应用
服务器·开发语言·后端·学习·node.js
呆呆的小鳄鱼17 分钟前
牛客:HJ24 合唱队[华为机考][最长递增子集][动态规划]
算法·华为·动态规划
梅落几点秋.20 分钟前
java-字符串和集合
java·开发语言
weixin_4491736521 分钟前
基础算法题
算法
Yana.nice34 分钟前
Bash常见条件语句和循环语句
开发语言·chrome·bash
小O的算法实验室1 小时前
2024年ASOC SCI2区TOP,基于干扰模型的灰狼优化算法IIE-GWO+复杂丘陵地形农业无人机轨迹规划,深度解析+性能实测
算法·论文复现·智能算法改进
阑梦清川1 小时前
高精度乘法模版代码思路分析(C++版本)
算法