我可以在C ++中按值返回数组吗?

时间:2011-11-01 01:42:19

标签: c++

我可以在C ++中按值返回数组吗?按值,我的意思是返回副本而不是使用指针。如果是这样,有人可以提供返回1d数组和2d数组的示例吗?

3 个答案:

答案 0 :(得分:6)

没有;你只能通过将它们包装在structclass内来返回数组(实际上,你可以简单地返回一个std::array的适当实例,它将一个C风格的数组封装在一个模板类,它也提供了一些花里胡哨的东西。)

答案 1 :(得分:1)

除非你使用某种自定义数组类(例如Matteo Italia提到的std :: array),否则这是不可能的。 C / C ++中的数组与指针的处理方式大致相同。

答案 2 :(得分:1)

在C / C ++中不允许这样做。

如果函数不是本地函数,则可以通过引用返回数组。另一个工作是将它包装在'struct / class'包装器中并返回其对象。