使用 std:array 作为函数的参数

皮埃尔-奥利维尔·让德罗

我在这里看到:http ://www.cplusplus.com/doc/tutorial/arrays/ int[N] 与std::array<int,N>C++ 中的相同我想使用这种表示法以避免将 N 作为函数的参数传递。

我想做这样的事情

returnedType function(array tab)

代替

returnedType function(int tab, int N)

但我不能制作类型数组,因为我必须写,array<int,N>而且我事先不知道 N。有人有解决方案吗?

狂暴的

使functiona函数template,像这样:

template <size_t N>
void function(std::array<int, N> arr)
{
    // do something with arr
}

并称之为:

int main()
{
    std::array<int, 3> a;
    function(a);

    std::array<int, 15> b;
    function(b);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用std :: ostream作为打印函数的参数

“解压” std :: array <T,N>作为函数的参数

C++;将 std::array 作为函数参数传递

使用std :: array <Type,N>的实例作为模板参数

如何使用函数签名的typedef作为std :: function的类型参数?

gdb调用函数-如何使用std :: cout作为参数?

使用const std :: string指针作为函数参数

如何使用std :: array构造函数参数C ++列表初始化const std :: array成员

使用作为参数传递的std :: intializer_list初始化std :: array

使用std :: make_shared以std :: array作为参数来初始化std :: shared_ptr

使用std :: get作为std :: transform的参数

智能指针作为使用 std::function, std::bind 的函数的参数

使用constexpr作为std :: array的大小

C++;将 std::array 随机访问迭代器作为函数参数传递

std :: array作为类的模板参数

使用 std::vector<Particle> 粒子;函数 .at() 不使用迭代器将其作为 for 循环内的参数

从函数返回 std::array 作为范围

我可以使用std :: string * argv作为主要函数参数吗?

使用std :: function或转发引用作为高阶函数的通用可调用对象输入参数?

使用std :: mutex作为参数对成员函数进行线程化

使用pybind11和std :: filesystem作为函数参数的Python绑定,给出TypeError

使用函数作为参数的函数

如何在类构造函数中使用参数初始化std :: array的大小?

使用相同的构造函数参数初始化所有元素或std :: array

std :: array中元素构造函数的参数

使用`std :: min`作为算法参数

使用lambda作为std :: cout的参数

SFINAE:std :: enable_if作为函数参数

std :: future作为函数C ++的参数