zoukankan      html  css  js  c++  java
  • array

    一、特性

    概述:固定大小数组,支持快速随机访问,不能添加/删除元素,是C++11标准新增的类型

    1. array对象的大小是固定的

    • array不支持添加/删除元素
    • array不支持改变容器大小的操作(如resize()、reverse()等)

    2. array具有固定大小

    • 与内置数组一样,array的大小也是类型的一部分(故不支持普通容器的构造函数),故定义array对象时,要指出容器大小。
    • 与其他容器不同,一个默认构造的array对象是非空的(因为定义对象时已经给出了array对象的大小)
    • 要对array对象进行列表初始化,那么列表中元素的数目要小于等于该对象的大小(和内置数组一样)

    3. 优于内置数组的地方

    • 可以在赋值时使用列表初始化(内置数组不支持)
    • 可以在array对象之间进行赋值操作(内置数组不支持)

    二、不支持的容器操作

    操作 说明
    array c(b, e) 构造 c,将迭代器 b 和 e 指定的范围内的元素拷贝到 c
    c = {a, b, c ... } 将 c 中的元素替换为列表中的元素(亲测可用)

    array c(n)

    array c(n, t)

    第一个是创建一个大小为n的容器,且内容是值初始化;第二个是创建一个大小为n的容器,且内容是t

    c.assign(args)

    改变容器大小
    c.push_back(args) 改变容器大小
    c.emplace_back(args) 改变容器大小
    c.insert(args) 改变容器大小
    c.pop_back() 改变容器大小
    c.pop_front() 改变容器大小
    c.erase(args) 改变容器大小
    c.clear() 改变容器大小
    c.resize(args) 改变容器大小

    三、限定条件的操作

    操作 说明

    array c1(c2)

    array c1 = c2

    c1初始化为c2的拷贝,要求c1和c2具有相同大小

    array c{a, b, c ... }

    array c={a, b, c ...}

    c 初始化为初始化列表中元素的拷贝,要求列表中元素的数目不能大于 c 的大小
  • 相关阅读:
    Java 使用Calendar类输出指定年份和月份的日历
    ioc aop
    多线程下单例模式:懒加载(延迟加载)和即时加载
    Java生产环境下性能监控与调优详解
    springboot + zipkin + mysql
    springboot + zipkin(brave-okhttp实现)
    springboot启动方式
    OpenResty实现限流的几种方式
    RocketMQ核心技术精讲与高并发抗压实战
    codis 使用
  • 原文地址:https://www.cnblogs.com/xzxl/p/7702365.html
Copyright © 2011-2022 走看看