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.

相关推荐
JMchen123几秒前
Android计算摄影实战:多帧合成、HDR+与夜景算法深度剖析
android·经验分享·数码相机·算法·移动开发·android-studio
阿猿收手吧!6 分钟前
【C++】C++模板特化:精准定制泛型逻辑
开发语言·c++·算法
智驱力人工智能19 分钟前
货车走快车道检测 高速公路安全治理的工程实践与价值闭环 高速公路货车占用小客车道抓拍系统 城市快速路货车违规占道AI识别
人工智能·opencv·算法·安全·yolo·目标检测·边缘计算
ghie909025 分钟前
MATLAB中编写不平衡磁拉力方程
开发语言·matlab
喵手29 分钟前
Python爬虫实战:电商实体消歧完整实战 - 从混乱店铺名到标准化知识库的工程化实现,一文带你搞定!
爬虫·python·算法·爬虫实战·零基础python爬虫教学·同名实体消除·从混乱店铺名到标准化知识库
C语言小火车32 分钟前
Qt样式实现方式详解:六大方法全面解析
c语言·c++·qt·学习
weixin_4521595533 分钟前
C++与Java性能对比
开发语言·c++·算法
80530单词突击赢34 分钟前
C++哈希表实现:开散列与闭散列详解
算法·哈希算法·散列表
Timmylyx051837 分钟前
类欧几里得学习笔记
笔记·学习·算法
会叫的恐龙37 分钟前
C++ 核心知识点汇总(第一日)(输入输出与变量、类型转换)
开发语言·c++