如何理解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
相关推荐
羊小猪~~3 分钟前
【QT】--文件操作
前端·数据库·c++·后端·qt·qt6.3
2501_9403152628 分钟前
【无标题】1.17给定一个数将其转换为任意一个进制数(用栈的方法)
开发语言·c++·算法
fpcc1 小时前
C++23中的模块应用说明之五综合应用和重点分
c++·c++23
xiaoye-duck2 小时前
吃透C++类和对象(下):内部类、匿名对象及编译器优化的深度解析
c++
情缘晓梦.2 小时前
C++ 内存管理
开发语言·jvm·c++
恒者走天下2 小时前
研一、大一大二学计算机应该怎么规划
c++
我是一只小青蛙8882 小时前
Windows下MATLAB与C++混合编程实战
c++
玖釉-3 小时前
[Vulkan 学习之路] 11 - 组装流水线:固定功能阶段 (Fixed Functions)
c++·windows·图形渲染
f狐0狸x3 小时前
【C++修炼之路】C++string的用法
开发语言·c++·string
阿豪只会阿巴3 小时前
【多喝热水系列】从零开始的ROS2之旅——Day9 初识话题通信:基本命令
c++·笔记·python·ubuntu·ros2