我可以在C ++中按值返回数组吗?按值,我的意思是返回副本而不是使用指针。如果是这样,有人可以提供返回1d数组和2d数组的示例吗?
答案 0 :(得分:6)
没有;你只能通过将它们包装在struct
或class
内来返回数组(实际上,你可以简单地返回一个std::array
的适当实例,它将一个C风格的数组封装在一个模板类,它也提供了一些花里胡哨的东西。)
答案 1 :(得分:1)
除非你使用某种自定义数组类(例如Matteo Italia提到的std :: array),否则这是不可能的。 C / C ++中的数组与指针的处理方式大致相同。
答案 2 :(得分:1)
在C / C ++中不允许这样做。
如果函数不是本地函数,则可以通过引用返回数组。另一个工作是将它包装在'struct / class'包装器中并返回其对象。