面试题答案
一键面试C++模板类array相较于普通数组的优势
- 安全:
std::array
知道其自身大小,不像普通数组容易出现越界访问问题,因为std::array
的成员函数(如at()
)会进行边界检查。 - 功能丰富:
std::array
提供了许多成员函数,如size()
获取数组大小、begin()
和end()
用于迭代等,普通数组需要手动实现这些功能。 - 易于管理:
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;
}