C++的array数组容器详解

数组容器, 是存储数组的容器, 是C类型数组的扩充, 可以使用迭代器进行操作;

例如"std::array<int, 5>", 需要注意的是, 如果直接进行赋值, "std::array<int, 5> ia = {1, 2, 3, 4, 5}; "

在GCC下会有警告: "missing braces around initializer for 'std::array<int, 5u>::value_type [5] {aka int [5]}' [-Wmissing-braces]"

原因是与初始化数组的方式不符, 再加一组"{}"即可, 如: "std::array<int, 5> ia ={{1, 2, 3, 4, 5}};", 使参数满足int[5], 再进行赋值;

数组一般在初始化过程中赋值, 如果想替换已有的值, 一种方法是遍历所有的值, 较复杂;

另一种方法是通过复制去重新赋值, 实现快速赋值;

代码:

/*
 * test.cpp
 *
 *  Created on: 2013.11.12
 *      Author: Caroline
 */

/*eclipse cdt; gcc 4.7.1*/

#include <iostream>
#include <array>  

int main (void) {  

    std::array<int, 5> ia = {{1, 2, 3, 4, 5}};
    for(const auto i : ia)
        std::cout << i << " ";
    std::cout << std::endl;  

    std::array<int, 5> ia2; // 空数组
    //ia2 = {1, 2, 3, 4, 5}; //错误
    ia2 = ia;
    for(const auto i : ia2)
        std::cout << i << " ";
    std::cout << std::endl;  

    return 0;
}

作者:csdn博客 Spike_King

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/cplus/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c++
, 数组
, include
, 容器
, array
, std
数组详解
c array 二维数组、c 数组array、c array 和 数组、c 容器详解、c语言数组 详解,以便于您获取更多的相关知识。

时间: 2024-10-12 04:53:50

C++的array数组容器详解的相关文章

javascript中Array()数组函数详解_javascript技巧

在程序语言中数组的重要性不言而喻,JavaScript中数组也是最常使用的对象之一,数组是值的有序集合,由于弱类型的原因,JavaScript中数组十分灵活.强大,不像是Java等强类型高级语言数组只能存放同一类型或其子类型元素,JavaScript在同一个数组中可以存放多种类型的元素,而且是长度也是可以动态调整的,可以随着数据增加或减少自动对数组长度做更改. Array()是一个用来构建数组的内建构造器函数.数组主要由如下三种创建方式: array = new Array() array =

Js的Array数组对象详解_javascript技巧

本文为大家分享了关于Js的Array数组对象的相关资料,供大家参考,具体内容如下 1. 介绍1.1 说明 数组是值的有序集合.每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引.JavaScript数组是无类型:数组元素可以是任意类型,并且同一个数组中的不同元素也可能有不同的类型. --<JavaScript权威指南(第六版)> 1.2 定义方式 var names = new Array("张三", "李四", "王五&q

javascript之Array 数组对象详解_基础知识

1.创建Array对象方法: --->var arr = [element0, element1, ..., elementn];//简单的定义方法 复制代码 代码如下: var arr = [1,2,3] 此时可以知道 复制代码 代码如下: arr[0] == 1; arr[1] == 2; arr[2] == 3; --->new Array(); 复制代码 代码如下: var arr = new Array();//定义一个没有任何内容的数组对象,然后以下面的方式为其赋值 arr[0]

C语言 数组指针详解及示例代码_C 语言

数组(Array)是一系列具有相同类型的数据的集合,每一份数据叫做一个数组元素(Element).数组中的所有元素在内存中是连续排列的,整个数组占用的是一块内存.以int arr[] = { 99, 15, 100, 888, 252 };为例,该数组在内存中的分布如下图所示: 定义数组时,要给出数组名和数组长度,数组名可以认为是一个指针,它指向数组的第 0 个元素.在C语言中,我们将第 0 个元素的地址称为数组的首地址.以上面的数组为例,下图是 arr 的指向: 下面的例子演示了如何以指针的方

C++中“tuple”(元组)容器详解

tuple容器(元组), 是表示元组容器, 是不包含任何结构的,快速而低质(粗制滥造, quick and dirty)的, 可以用于函数返回多个返回值; tuple容器, 可以使用直接初始化, 和"make_tuple()"初始化, 访问元素使用"get<>()"方法, 注意get里面的位置信息, 必须是常量表达式(const expression); 可以通过"std::tuple_size<decltype(t)>::valu

jquery基础教程之数组使用详解

 jQuery的数组处理.便捷.功能齐全.一步到位的封装了很多原生JavaScript数组不能企及的功能.下面是jquery数组的使用详解,需要的朋友可以参考下 1. $.each(array, [callback]) 遍历[常用]   解释: 不同于例遍jQuery对象的$().each()方法,此方法可用于例遍任何对象.回调函数拥有两个参数:第一个为对象的成员或数组的索引, 第二个为对应变量或内容. 如果需要退出each循环可使回调函数返回false, 其它返回值将被忽略.   each遍历

PHP数组实例详解_php实例

作为一名C++程序员,在转做PHP开发的过程中,对PHP数组产生了一些混淆,与C++数组有相似的地方,也有一些不同,下面就全面地分析一下PHP的数组及其与C++中相应数据类型的区别和联系. 数组的分类: 1.数值数组:也叫索引数组,即以数字(从0 开始)作为数组下标.相当于C++中的vector. 2.关联数组:以字符串作为数组下标.相当于C++中的map. 3.多维数组:数组中每个元素也是一个数组.其子数组中的每个元素也可以是数组. 数组的声明: 1.数值数组 a.如下例子中,会自动分配数字I

C语言柔性数组实例详解_C 语言

本文实例分析了C语言柔性数组的概念及用法,对于进一步学习C程序设计有一定的借鉴价值.分享给大家供大家参考.具体如下: 一般来说,结构中最后一个元素允许是未知大小的数组,这个数组就是柔性数组.但结构中的柔性数组前面必须至少一个其他成员,柔性数组成员允许结构中包含一个大小可变的数组,sizeof返回的这种结构大小不包括柔性数组的内存.包含柔数组成员的结构用malloc函数进行内存的动态分配,且分配的内存应该大于结构的大小以适应柔性数组的预期大小.柔性数组到底如何使用? 不完整类型 C和C++对于不完

PHP数组实例详解

作为一名C++程序员,在转做PHP开发的过程中,对PHP数组产生了一些混淆,与C++数组有相似的地方,也有一些不同,下面就全面地分析一下PHP的数组及其与C++中相应数据类型的区别和联系. 数组的分类: 1.数值数组:也叫索引数组,即以数字(从0 开始)作为数组下标.相当于C++中的vector. 2.关联数组:以字符串作为数组下标.相当于C++中的map. 3.多维数组:数组中每个元素也是一个数组.其子数组中的每个元素也可以是数组. 数组的声明: 1.数值数组 a.如下例子中,会自动分配数字I