std::array 使用举例

发布时间:2023年12月29日

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 <iostream>
#include <array>

int main() {
    // 创建一个包含 5 个整数的 std::array
    std::array<int, 5> 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?异常,因此可以进行异常处理。

文章来源:https://blog.csdn.net/CHNIM/article/details/135290354
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。