当前位置: 首页 > wzjs >正文

厦门市建设安全管理协会网站打开网站的语音播报怎么做

厦门市建设安全管理协会网站,打开网站的语音播报怎么做,泗县住房和城乡建设局网站,乡镇网站模板c array使用笔记 1. 构造2. 成员类型3. 元素访问4. 容量相关5. 填充与交换6. 比较操作7. 迭代器总结 array 是 C 标准库中的一个容器模板,它封装了一个固定长度的内建数组,并提供了类似于其他 STL 容器的接口。与内建数组相比, array 提供了…

c++ array使用笔记

      • 1. 构造
      • 2. 成员类型
      • 3. 元素访问
      • 4. 容量相关
      • 5. 填充与交换
      • 6. 比较操作
      • 7. 迭代器
      • 总结

array 是 C++ 标准库中的一个容器模板,它封装了一个固定长度的内建数组,并提供了类似于其他 STL 容器的接口。与内建数组相比, array 提供了更多的操作,如复制、比较、交换等。以下是 array 容器的主要接口及其功能的简要介绍:

1. 构造

  • 默认构造函数:创建一个空的 array 对象。
  • 初始化列表构造函数:允许使用初始化列表来初始化 array 中的元素。
std::array<int, 3> arr1; // 默认构造,元素未初始化
std::array<int, 3> arr2 = {1, 2, 3}; // 使用初始化列表构造

2. 成员类型

  • value_typearray 中元素的类型。
  • size_type:表示 array 大小的无符号整数类型。
  • iteratorconst_iterator:用于遍历 array 的迭代器类型。
  • referenceconst_reference:元素的引用类型。
std::array<int, 3>::value_type x = 10; // x 的类型是 int

3. 元素访问

  • operator[]:通过下标访问元素,不进行边界检查。
  • at():通过下标访问元素,进行边界检查,如果越界则抛出 std::out_of_range 异常。
  • front():访问第一个元素。
  • back():访问最后一个元素。
  • data():返回指向底层数组的指针。
std::array<int, 3> arr = {1, 2, 3};
int x = arr[0]; // 访问第一个元素
int y = arr.at(1); // 访问第二个元素,带边界检查
int z = arr.front(); // 访问第一个元素
int w = arr.back(); // 访问最后一个元素
int* p = arr.data(); // 获取底层数组的指针

4. 容量相关

  • empty():检查 array 是否为空(对于 array,只有在大小为 0 时才为空)。
  • size():返回 array 中元素的数量。
  • max_size():返回 array 可以容纳的最大元素数量(对于 arraysize()max_size() 通常相同)。
std::array<int, 3> arr = {1, 2, 3};
bool isEmpty = arr.empty(); // false
std::size_t size = arr.size(); // 3
std::size_t maxSize = arr.max_size(); // 3

5. 填充与交换

  • fill(value):将 array 中的所有元素设置为指定的值。
  • swap(other):交换两个 array 的内容。
std::array<int, 3> arr1 = {1, 2, 3};
std::array<int, 3> arr2 = {4, 5, 6};
arr1.fill(0); // arr1 变为 {0, 0, 0}
arr1.swap(arr2); // arr1 变为 {4, 5, 6}, arr2 变为 {0, 0, 0}

6. 比较操作

  • operator<=>(C++20 引入):用于比较两个 array 对象的元素。返回一个比较结果,可以是 std::strong_orderingstd::weak_orderingstd::partial_ordering
std::array<int, 3> arr1 = {1, 2, 3};
std::array<int, 3> arr2 = {1, 2, 4};
auto result = (arr1 <=> arr2); // 返回 std::strong_ordering::less

7. 迭代器

  • begin()end():返回指向 array 第一个元素和最后一个元素之后位置的迭代器。
  • cbegin()cend():返回指向 array 第一个元素和最后一个元素之后位置的常量迭代器。
  • rbegin()rend():返回指向 array 最后一个元素和第一个元素之前位置的逆向迭代器。
  • crbegin()crend():返回指向 array 最后一个元素和第一个元素之前位置的常量逆向迭代器。
std::array<int, 3> arr = {1, 2, 3};
for (auto it = arr.begin(); it != arr.end(); ++it) {std::cout << *it << " "; // 输出 1 2 3
}

总结

array 是一个固定大小的容器,提供了类似于内建数组的功能,但增加了更多的操作和安全性(如边界检查)。它适用于需要固定大小数组且希望使用 STL 风格的接口的场景。

http://www.dtcms.com/wzjs/821799.html

相关文章:

  • 中国网站为什么做的那么丑电子商务网站建设类型
  • 威海网站建设公司wordpress安装语言设置
  • 山西省住房建设厅网站深圳专业做公司网站
  • 个人网站建设方法和过程产品营销型网站建设
  • 网站栏目页怎么做做流量的网站
  • 农业建设项目管理信息系统网站网页设计在安阳工资多少
  • 网站上面添加地图第一次做网站时是怎样的心情
  • 资金盘网站怎么建设自己做网站开发
  • 经典网站设计有做h的小说网站
  • 郑州做商城网站东莞网站建设东莞
  • 如何用api做网站商务网站建设怎样收费
  • 京东建设网站的意义网站地图对网站有什么意义
  • 昌黎建设局网站网站建设优惠
  • 专门做衣服的网站有哪些微信网站特征
  • 把网站从空间删除曲周企业做网站推广
  • 网站鉴赏百度浏览器下载
  • 饿了么企业网站杭州科技公司网站建设
  • 网站建设公司公司好怎么发布视频号
  • 山东省住房城乡建设部网站首页学做网站教程视频
  • 衡水做网站常州网站推广平台
  • 海南建设网站公司简洁好看的网站
  • 制作一个网站都需要学什么布吉做网站的公司
  • 建网站有域名和主机php网站开发需要学什么
  • 温州网站设计案例企业网站建设的劣势
  • 黄浦网站建设推广搭建一个网站多少钱哈尔滨电脑
  • 网站备案建设方案做网站电商
  • 北京建设执业资格注册网站网站怎么做微信扫描登录网站
  • 罗湖网站制作费用成都私家花园设计公司哪家好
  • 济南建设高端网站淘客推广计划
  • 海外购物网站哪个最好搜索推广营销