C++ 容器类 <array>

C++标准库中,<array>头文件定义了一个名为std::array的固定大小的数组容器。std::array是一个模板类,它提供了一种便捷的方式来处理固定大小的数组,同时提供了标准容器的一些功能,如迭代器支持、随机访问以及成员函数等。

 

std::array基本语法:

#include <array>
std::array<T, N> array_name;

T 是数组中元素的类型,N 是数组的大小,必须是一个非负整数。

 

std::array 主要特性:

  1. 固定大小std::array的大小在编译时是固定的,这意味着它不能动态地改变大小。这是与std::vector等动态数组容器的主要区别。

  2. 类型安全:由于数组大小是模板参数的一部分,因此std::array提供了类型安全,尝试访问数组边界之外的元素将导致编译时错误(如果使用了正确的索引)。

  3. 标准容器接口std::array提供了与标准容器相似的接口,包括迭代器、begin()end()成员函数、size()成员函数等。

  4. 性能:由于std::array是固定大小的,并且存储在连续的内存块中,因此它提供了与原生数组相似的性能。

std::array示例:

#include <iostream>  
#include <array>  
  
int main() {  
    // 定义一个大小为5的int数组  
    std::array<int, 5> myArray = {1, 2, 3, 4, 5};  
  
    // 使用下标访问元素  
    std::cout << "Element at index 2: " << myArray[2] << std::endl;  
  
    // 使用at()成员函数访问元素(提供边界检查)  
    try {  
        std::cout << "Element at index 4: " << myArray.at(4) << std::endl;  
        // 尝试访问超出边界的元素将导致std::out_of_range异常  
        // std::cout << "Element at index 5: " << myArray.at(5) << std::endl;  
    } catch (const std::out_of_range& e) {  
        std::cerr << "Out of range error: " << e.what() << std::endl;  
    }  
  
    // 使用范围for循环遍历数组  
    for (int elem : myArray) {  
        std::cout << elem << " ";  
    }  
    std::cout << std::endl;  
  
    // 使用迭代器遍历数组  
    for (auto it = myArray.begin(); it != myArray.end(); ++it) {  
        std::cout << *it << " ";  
    }  
    std::cout << std::endl;  
  
    return 0;  
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值