C++怎么return数组
时间: 2023-11-15 15:04:33 浏览: 45
在 C++ 中,不能直接返回一个数组。但是,你可以通过以下几种方式返回数组:
1. 返回指向数组的指针。例如:
```
int* func() {
static int arr[5] = {1, 2, 3, 4, 5};
return arr;
}
```
在这个例子中,我们定义了一个静态数组 `arr`,并返回它的指针。
2. 将数组作为函数参数传递,并在函数中修改数组。例如:
```
void func(int arr[], int size) {
for (int i = 0; i < size; i++) {
arr[i] *= 2;
}
}
int main() {
int arr[5] = {1, 2, 3, 4, 5};
func(arr, 5);
// 现在 arr 变为 {2, 4, 6, 8, 10}
return 0;
}
```
在这个例子中,我们定义了一个函数 `func`,它接受一个数组和数组大小作为参数,并修改了数组的值。
3. 使用 `std::array` 或 `std::vector` 等 STL 容器类。例如:
```
std::array<int, 5> func() {
std::array<int, 5> arr = {1, 2, 3, 4, 5};
return arr;
}
int main() {
std::array<int, 5> arr = func();
// 现在 arr 变为 {1, 2, 3, 4, 5}
return 0;
}
```
在这个例子中,我们使用了 `std::array` 容器类,它可以作为函数的返回值。