返回多维数组
Returning multidimensional array c++
我想创建一个返回c风格多维数组的函数int mArray[2][2];
int[][] mArray getArray();
所以这不起作用,我不知道为什么。
From [dcl.funct]:
函数的返回类型不能是数组类型或函数类型,尽管它们的返回类型可以是指针类型或指向这类对象的引用类型。不能有函数数组,但可以有指向函数的指针数组。
但是,您可以返回一个std::array
:
std::array<std::array<int, 2>, 2> getArray();
不能按值返回数组,因为它们不会隐式复制(也因为标准是这样规定的)。你应该用std::array
代替:
std::array<std::array<int,2>,2> fun();
std::array<std::array<int,2>,2> arr = fun();
现在在std::array
上使用c数组的原因不多,最常见的原因可能是"因为我的老师/教授/老板这么说"。
相关文章:
- 为什么 C++ 中的字符数组返回其项目而不是地址?
- C++ bool 数组返回 1 或 0 以外的值
- C++ ostream 从对象数组返回数据
- 类中的重载运算符 [],因此它可以从模板类中的数组返回对象
- 指向对象的指针数组返回jibberish
- 具有基本结构的结构数组返回错误的答案
- 数组返回乐趣 movie_check()
- C++从字符数组返回类型为T的指针
- C++-将数组返回到主函数,并将数组传递给另一个函数
- C++:如何通过异常处理从越界数组返回值
- 整数数组返回类型
- 从字符串流复制到 char * 数组返回为函数参数
- C++函数从对象数组返回对象的副本.这是默认行为吗?
- 8字节数组返回长(C#到C++)
- 向c#数组返回一个字符数组c++
- 从并行数组返回值,并在以后的函数中使用这些值
- 将c++中的浮点数数组返回给Python
- 如何在gsoap中使字符串数组返回值
- 将两个字符相乘并向数组返回int
- C++套接字 - 从结构数组返回单个地址信息