小编Ste*_*eve的帖子

传递std:数组

我正在尝试编写一个可以在可变大小的std :: array上工作的函数,例如:

std::array a<int,5>={1,2,3,4,5};
std::array b<int,3>={6,7,8};

myFunc(a);
myFunc(b);

void myFunc(std::array &p)
{
cout << "array contains " << p.size() << "elements"; 
}
Run Code Online (Sandbox Code Playgroud)

但是,除非我指定大小,否则它不起作用,但我希望函数从数组中获取大小.我真的不想要矢量使用的复制和动态分配,我想使用std :: array()分配的空间,并且不希望编译器为每个可能的数组大小创建函数的副本.

我想过创建一个像数组一样工作的模板,但是它会指向现有数据,而不是自己分配,但不想重新发明轮子.

这有可能吗?

c++ arrays c++03

11
推荐指数
1
解决办法
7129
查看次数

标签 统计

arrays ×1

c++ ×1

c++03 ×1