📜  使用STL的C++阵列产品(1)

📅  最后修改于: 2023-12-03 15:06:54.280000             🧑  作者: Mango

使用STL的C++阵列产品

C++标准模板库(STL)提供了许多用于数据结构和算法的便捷工具。其中之一是 array,这是一种固定大小的数组容器,其大小在定义时就已经确定,不可以动态调整大小。

定义和初始化

要定义一个 array,可以使用以下语法:

std::array<int, 5> myArray;

这将创建一个名为 myArray 的数组,其中有5个 int 类型的元素。数组的值默认为零。

可以使用以下语法将初始元素值传递给 array

std::array<int, 5> myArray = {1, 2, 3, 4, 5};

或者通过以下方式进行初始化:

std::array<int, 5> myArray {{1, 2, 3, 4, 5}};

在这两种情况下,都创建了具有相同元素和大小的数组。

可以通过以下语法获取数组的大小:

int size = myArray.size();
访问数组元素

可以像普通数组那样访问 array 中的元素。例如,可以像以下代码那样使用数组下标访问:

int firstElement = myArray[0];
int secondElement = myArray[1];

也可以使用以下语法访问数组的第一个和最后一个元素:

int firstElement = myArray.front();
int lastElement = myArray.back();
修改元素的值

可以使用以下语法修改数组中的元素值:

myArray[0] = 10;
myArray[1] = 20;

也可以使用以下语法修改第一个和最后一个元素的值:

myArray.front() = 10;
myArray.back() = 20;
迭代器

可以使用迭代器遍历数组元素。例如,可以使用以下语法获得一个指向第一个元素的迭代器:

std::array<int, 5>::iterator it = myArray.begin();

可以使用 ++ 运算符将迭代器移动到下一个元素,并使用 * 运算符获取当前元素的值:

std::cout << *it << std::endl;
++it;
std::cout << *it << std::endl;

也可以使用以下语法遍历整个数组:

for(auto it = myArray.begin(); it != myArray.end(); ++it) {
    std::cout << *it << std::endl;
}
总结

array 提供了一个方便直观的方式来处理固定大小的数组,包括定义和初始化,访问元素,修改元素以及迭代元素。使用它可以提高代码的可读性和可维护性。