std::array 使用举例
2023-12-29 18:29:17
std::array
?是 C++ 标准库提供的容器,它表示一个具有固定大小的数组。与裸数组相比,std::array
?具有更多的优势,如提供了方便的成员函数、支持迭代器等。下面是对?std::array
?的详细介绍以及使用示例。
std::array
?的基本特点:
- 固定大小:?
std::array
?的大小在创建时就已经确定,之后不能再改变。 - 连续存储:?
std::array
?在内存中是连续存储的,类似于普通数组。 - 安全:?提供了边界检查,避免了访问数组时的越界错误。
- 支持迭代器:?可以使用迭代器遍历?
std::array
?中的元素。 - 提供成员函数:?提供了一些方便的成员函数,如?
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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!