MST

星途 面试题库

面试题:C++ 中模板类array的基础使用

请简述C++模板类array与普通数组相比有哪些优势,并写出一段代码示例,创建一个存储整数的array,向其中填充1到10这10个数字,并输出array中的所有元素。
21.5万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试

C++模板类array相较于普通数组的优势

  1. 安全std::array知道其自身大小,不像普通数组容易出现越界访问问题,因为std::array的成员函数(如at())会进行边界检查。
  2. 功能丰富std::array提供了许多成员函数,如size()获取数组大小、begin()end()用于迭代等,普通数组需要手动实现这些功能。
  3. 易于管理std::array是一个对象,其生命周期遵循对象的规则,而普通数组依赖手动内存管理,容易导致内存泄漏等问题。

代码示例

#include <iostream>
#include <array>

int main() {
    std::array<int, 10> arr;
    for (size_t i = 0; i < arr.size(); ++i) {
        arr[i] = i + 1;
    }
    for (const auto& num : arr) {
        std::cout << num << " ";
    }
    return 0;
}