按值传递数组

Joh*_*ing 2 c++

是否可以通过值将数组传递给C++函数?

如果是的话,我该怎么做?

iam*_*ind 6

如果通过数组你的意思是原始 数组,那么答案是否定的.您无法在C或C++中按值传递它们.

这两种语言都提供了一种解决方法,您可以在其中包装struct该数组并传递其对象.例:

struct MyArray { int a[100]; };
...
struct MyArray obj; // `obj.a[]` is the array of your interest
foo(obj);  // you have passed the `a[]` by value
Run Code Online (Sandbox Code Playgroud)

在C++中,这样的结构很容易以std::vector和的形式提供std::array.