【C++程序员必修课】C++基础课程-12:std::array 固定数组

1 本课主要内容:

  • std::array 固定数组的声明
  • 基本使用:赋值、访问数组、遍历等

2 主要知识点:

  • std::array 固定数组的声明

#include <array>

// std::array 固定数组例子
std::array<int, 5> array1;                      // 未初始化数组元素的值
std::array<int, 5> array2{ 1, 2 };              // 初始化为:1 2 0 0 0
std::array<int, 5> array3{ 1, 2, 3, 4, 5 };     // 初始化为:1 2 3 4 5
  • 赋值

// 数组赋值
array1[0] = 10;     // 使用 [INDEX] 赋值
array1.at(1) = 20;  // 使用 at(INDEX) 赋值
  • 访问数组元素

// 访问数组元素
const int v1 = array2[0];       // 使用 [INDEX] 访问
const int v2 = array2.at(1);    // 使用 at(INDEX) 访问
const int v3 = array2.front();  // 访问第一个
const int v4 = array2.back();   // 访问最后一个
  • 遍历数组

// 遍历 array 数组:例子1
for (const auto& v : array3) {
    std::cout << v << std::endl;
}

// 例子2:
for (int i=0; i < array3.size(); ++i) {
    const int v = array3.at(i);
    std::cout << v << std::endl;
}
  • 其他函数

// 数组大小
const int arraySize = array2.size();
// 判断数组是否为空
const bool isEmpty = array2.empty();
  • 完整例子代码

#include <array>

// std::array 固定数组例子
std::array<int, 5> array1;                      // 未初始化数组元素的值
std::array<int, 5> array2{ 1, 2 };              // 初始化为:1 2 0 0 0
std::array<int, 5> array3{ 1, 2, 3, 4, 5 };     // 初始化为:1 2 3 4 5
// 数组赋值
array1[0] = 10;     // 使用 [INDEX] 赋值
array1.at(1) = 20;  // 使用 at(INDEX) 赋值
// 访问数组元素
const int v1 = array2[0];       // 使用 [INDEX] 访问
const int v2 = array2.at(1);    // 使用 at(INDEX) 访问
const int v3 = array2.front();  // 访问第一个
const int v4 = array2.back();   // 访问最后一个
std::cout << "array[0] = " << v1 << std::endl;
std::cout << "array.at(1) = " << v2 << std::endl;
std::cout << "array.front() = " << v3 << std::endl;
std::cout << "array.back() = " << v4 << std::endl;
// 数组大小
const int arraySize = array2.size();
std::cout << "array.size() = " << arraySize << std::endl;
// 判断数组是否为空
const bool isEmpty = array2.empty();
std::cout << "array.empty() = " << isEmpty << std::endl;
// 遍历 array 数组
for (const auto& v : array3) {
    std::cout << v << std::endl;
}

3 注意事项:

  • 访问固定数组需要注意下标越界,就是 array[index], array.at(index) 访问数组时 index

4 课后练习:

  • 练习1:利用 std::generate_canonical 产生 100 组 [0,1] 范围内随机浮点数,存放到 array 数组1;
  • 练习2:遍历数组1,判断元素值 <0.5,元素值 +1.0,把结果更新到数组元素值,最后再遍历打印出来

附录:在线视频课程

进入视频号学习本文配套视频课程。

-【End】-

哈喽,大家好!我是喜欢coding的小二,一枚“靓仔又不掉头发”的C++开发大头兵;欢迎围观公众号(20YC编程),定期会分享一些技术开发经验、行业资讯、业界动态等。期待您的关注,一起交流学习进步。

#下载示例源码和开发工具,请进入公众号首页,点击(发消息)最下方的(资源下载)菜单即可获取。

喜欢本文章,记得点赞、分享、关注哦~

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天恩软件工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值