std::array 使用举例

std::array 是 C++ 标准库提供的容器,它表示一个具有固定大小的数组。与裸数组相比,std::array 具有更多的优势,如提供了方便的成员函数、支持迭代器等。下面是对 std::array 的详细介绍以及使用示例。

std::array 的基本特点:

  1. 固定大小: std::array 的大小在创建时就已经确定,之后不能再改变。
  2. 连续存储: std::array 在内存中是连续存储的,类似于普通数组。
  3. 安全: 提供了边界检查,避免了访问数组时的越界错误。
  4. 支持迭代器: 可以使用迭代器遍历 std::array 中的元素。
  5. 提供成员函数: 提供了一些方便的成员函数,如 size()at()front()back() 等。

示例代码:

#include 
#include 

int main() {
    // 创建一个包含 5 个整数的 std::array
    std::array myArray;

    // 初始化 std::array 的元素
    for (int i = 0; i < 5; ++i) {
        myArray[i] = i * 2;
    }

    // 使用范围-based for 循环遍历 std::array 中的元素
    std::cout << "Elements of the array: ";
    for (const auto& element : myArray) {
        std::cout << element << " ";
    }
    std::cout << std::endl;

    // 使用成员函数获取 std::array 的大小
    std::cout << "Size of the array: " << myArray.size() << std::endl;

    // 使用成员函数访问第一个和最后一个元素
    std::cout << "First element: " << myArray.front() << std::endl;
    std::cout << "Last element: " << myArray.back() << std::endl;

    // 使用 at() 成员函数进行安全的访问
    try {
        std::cout << "Element at index 2: " << myArray.at(2) << std::endl;
        std::cout << "Element at index 10: " << myArray.at(10) << std::endl;  // 这会引发异常
    } catch (const std::out_of_range& e) {
        std::cerr << "Out of range exception: " << e.what() << std::endl;
    }

    return 0;
}

在这个示例中,我们首先创建了一个包含 5 个整数的 std::array 对象,然后初始化了它的元素。接着,通过范围-based for 循环遍历了数组中的元素,并使用一些成员函数演示了数组的基本操作,包括获取大小、访问首尾元素以及安全的访问元素。需要注意的是,at() 函数在访问越界时会引发 std::out_of_range 异常,因此可以进行异常处理。

你可能感兴趣的:(C++基础实战,c++,算法,开发语言)