从函数返回静态固定大小数组

Return static fixed size array from a function

本文关键字:小数 数组 函数 返回 静态      更新时间:2023-10-16

是否可以从函数返回静态固定大小数组?这是什么语法。我不是要求std::array,也不是针对T*,我专门要求表格T arr[N]的数组。例如,可以通过以下语法将这种数组作为函数中的参数:

template<typename T, auto N>
void func(T (&arr)[N])
{
}

函数不能按值返回数组。您已经观察到函数可以通过参考将数组作为参数;同样,一个函数可以通过参考返回数组。为此,使用尾随的返回类型语法是最容易的:

auto func() -> T (&)[N];

,但数组既不能被值传递,也不能以价值返回。