我可以在c++中按值返回数组吗?
Can I return an array by value in C++?
我可以在c++中按值返回数组吗?这里的值是指返回一个副本,而不是使用指针。如果是这样的话,有人能提供一个返回一维数组和二维数组的例子吗?
不;你可以按值返回数组,只有通过将它们包装在struct
或class
中(实际上,你可以简单地返回一个适当的std::array
实例,它将c风格的数组封装在一个模板类中,该模板类还提供了一些花式和口哨)。
这在C/c++中是不允许的。
你可以通过引用返回数组,如果它不是函数的局部。另一种方法是将其包装在"struct/class"包装器中并返回其对象。
不,这是不可能的,除非您使用某种自定义数组类(例如Matteo Italia提到的std::array)。C/c++中的数组与指针的处理方式基本相同。
相关文章:
- 从 C++ 中的函数返回数组地址问题
- 如何在 c++ 函数中返回数组
- 如何从 c++ 中的函数返回数组
- 为什么 c++ 函数可以正确返回数组的大小?
- 解释通过从函数引用返回数组的语法
- (C++)我的函数不返回数组
- 如何按 C++ 中的值从函数返回数组
- 返回数组中值的指针地址
- 创建一个函数来转换数组元素的类型并返回数组的地址
- 使用数组类返回数组c++
- 如何使函数返回数组?用于制作在VB.NET中使用的DLL
- 从函数 BY VALUE 返回数组,返回结构时会发生什么?
- 调用和打印函数,在 C++ 中返回数组
- 如何使用递归函数返回数组中整数的索引?
- 从函数返回数组时是否需要删除
- 为什么从函数返回数组时需要将数组声明为静态数组.(C++)
- C++返回数组而不进行动态内存分配?
- 在函数 c++ 中返回数组时出现问题
- 如何从C 中的函数返回数组
- 如何使类函数返回数组,然后将其调用并存储在 main 中