admin 管理员组

文章数量: 1184232


2024年4月21日发(作者:句柄数查询)

c++中初始化数组的方式

在C++中,有多种方式可以初始化数组。以下是一些常见的初始化数组的方式:

1. 静态初始化(在声明时进行初始化):

一维数组:

```cpp

int arr1[] = {1, 2, 3, 4, 5}; // 自动计算数组大小

```

二维数组:

```cpp

int arr2[][3] = {{1, 2, 3}, {4, 5, 6}}; // 第二维的大小必须指定

```

2. 动态初始化(在运行时进行初始化):

动态分配内存:

```cpp

int size = 5;

int* arr3 = new int[size]; // 动态分配一维数组

delete[] arr3; // 释放内存

```

动态分配内存并初始化:

```cpp

int size = 5;

int* arr4 = new int[size] {1, 2, 3, 4, 5}; // 动态分配一维数组并初始化

delete[] arr4; // 释放内存

```

动态分配多维数组:

```cpp

int rows = 2, cols = 3;

int arr5 = new int*[rows];

for (int i = 0; i < rows; ++i) {

arr5[i] = new int[cols];

}

// 初始化数组元素

arr5[0][0] = 1;

arr5[0][1] = 2;

// ...

// 释放内存

for (int i = 0; i < rows; ++i) {

delete[] arr5[i];

}

delete[] arr5;

```

3. 使用`std::vector`容器:

一维数组:

```cpp

include

std::vector vec1 = {1, 2, 3, 4, 5};

```

二维数组:

```cpp

include

std::vector> vec2 = {{1, 2, 3}, {4, 5, 6}};

```

`std::vector`提供了动态数组的功能,它可以动态调整大小,不需要手动管理内存。

选择初始化方式取决于具体的需求和使用场景。在现代C++中,推荐使用`std::vector`来代替

裸数组,以提高代码的安全性和可维护性。


本文标签: 数组 动态 方式 内存 需求