如何理解template<size_t N>?

template<size_t N> 是C++中的模板参数,用于定一个非类型参数的值。它可以在编译时确定,并且可以在编译时进行计算和使用。

例如,我们可以定义一个模板函数,接受一个大小为N的数组作为参数:

cpp 复制代码
template<size_t N>
void printArray(int (&arr)[N]) 
{
    for (size_t i = 0; i < N; i++) 
    {
        cout << arr[i] << " ";
    }
    cout << endl;
}

在调用这个函数时,我们可以指定数组的大小:

cpp 复制代码
int arr1[5] = {1, 2, 3, 4, 5};
printArray<5>(arr1); // 输出:1 2 3 4 5

int arr2[10] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
printArray<10>(arr2); // 输出:10 20 30 40 50 60 70 80 90 100
相关推荐
暗然而日章16 分钟前
C++基础:Stanford CS106L学习笔记 13 特殊成员函数(SMFs)
c++·笔记·学习
云泽80821 分钟前
STL容器性能探秘:stack、queue、deque的实现与CPU缓存命中率优化
java·c++·缓存
J ..35 分钟前
C++ Lambda 表达式完全指南
c++
Qt程序员1 小时前
从 C++11 到 C++23:枚举的原理升级与实践
c++·c++23
CC.GG1 小时前
【C++】红黑树
java·开发语言·c++
闻缺陷则喜何志丹1 小时前
【计算几何 线性代数】仿射矩阵的秩及行列式
c++·线性代数·数学·矩阵·计算几何·行列式·仿射矩阵得秩
xu_yule1 小时前
算法基础-背包问题(01背包问题)
数据结构·c++·算法·01背包
特立独行的猫a1 小时前
C++ Core Guidelines(C++核心准则):2025现代C++开发关键要点总结
c++·core guidelines·核心准测
Joy-鬼魅2 小时前
VC中共享内存的命名空间
c++·vc·共享内存命名空间
dragoooon342 小时前
[C++——lesson30.数据结构进阶——「红黑树」]
开发语言·数据结构·c++