六一的部落格


关关难过关关过,前路漫漫亦灿灿。



具有固定大小, 定义array时给出


初始化array

1array<T, n> a;
1array<int, 42> ia;
2
3array<string, 10> sa;

使用类型成员

1array<int, 10>::size_type i;
2
3array<int>::size_type j;        // 错误: 未给出array大小

和内置数组比较

  1. 提供at操作, 会检查下标

  2. 可以传递array类型形参, 或将array类型作为函数返回类型; array对象之间可以相互赋值

    要求元素类型一致,数组大小一致

    内置数组不支持拷贝和赋值

    1int digs[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    2int cpy[10] = digs;        // 错误
    3
    4array<int, 10> digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    5array<int, 10> copy = digits;    // 正确
    

标准库: array


具有固定大小, 定义array时给出


初始化array

1array<T, n> a;
1array<int, 42> ia;
2
3array<string, 10> sa;

使用类型成员

1array<int, 10>::size_type i;
2
3array<int>::size_type j;        // 错误: 未给出array大小

和内置数组比较

  1. 提供at操作, 会检查下标

  2. 可以传递array类型形参, 或将array类型作为函数返回类型; array对象之间可以相互赋值

    要求元素类型一致,数组大小一致

    内置数组不支持拷贝和赋值

    1int digs[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    2int cpy[10] = digs;        // 错误
    3
    4array<int, 10> digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    5array<int, 10> copy = digits;    // 正确