通过"Value Template Argument"与常规阵列在堆栈中分配内存

Allocating memory in stack via "Value Template Argument" vs. regular array

本文关键字:堆栈 分配 内存 阵列 常规 Value Template Argument 通过      更新时间:2023-10-16

我正在研究C 的游览,而 value Template参数的演示之一是创建一个模板类,以任意分配堆栈中的缓冲区。我看不出它与简单创建数组(即int buf [100](有何不同,该数组也将从堆栈分配?

值参数在许多情况下都是有用的。例如,缓冲区 允许我们创建任意尺寸的缓冲区,而无需免费 存储(动态内存(:

Buffer<char,1024> glob;  // global buffer of characters (statically allocated)
void fct()
{
     Buffer<int,10> buf; // local buffer of integers (on the stack)
     // ...
}

很可能Buffer模板类类似于STD :: Array提供的内容。

大差异是,除了一个awar c-style阵列外,还可以添加各种其他操作。