C++ array(STL array)的用法及初始化
array<T,N> 模板定义了一种相当于标准数组的容器类型。它是一个有 N 个 T 类型元素的固定序列。除了需要指定元素的类型和个数之外,它和常规数组没有太大的差别。显然,不能增加或删除元素。
模板实例的元素被内部存储在标准数组中。和标准数组相比,array 容器的额外幵销很小,但提供了两个优点:如果使用 at(),当用一个非法的索引访问数组元素时,能够被检测到,因为容器知道它有多少个元素,这也就意味着数组容器可以作为参数传给函数,而不再需要单独去指定数组元素的个数。
使用 array 容器类型时,需要在源文件中包含头文件 array。数组容器非常好用,这里有一个示例,展示了如何创建具有 100 个 double 型元素的 array<>:
初始化器列表中的 4 个值用于初始化前 4 个元素,其余的元素都将为 0。图 1 说明了这一点。
图 1
通过调用数组对象的成员函数 fill(),可以将所有元素设成给定值。例如:
模板实例的元素被内部存储在标准数组中。和标准数组相比,array 容器的额外幵销很小,但提供了两个优点:如果使用 at(),当用一个非法的索引访问数组元素时,能够被检测到,因为容器知道它有多少个元素,这也就意味着数组容器可以作为参数传给函数,而不再需要单独去指定数组元素的个数。
使用 array 容器类型时,需要在源文件中包含头文件 array。数组容器非常好用,这里有一个示例,展示了如何创建具有 100 个 double 型元素的 array<>:
std::array<double,100> data;如果定义了一个 array 容器,却没有为元素指定初始值,那么元素就不会被初始化;但是可以如下所示,将它们初始化为 0 或者和默认元素类型等效的值:
std::array<double, 100> data {};使用该语句初始化后,容器中所有的元素都会变为 0.0。形参 N 必须是一个常量表达式(constant expression)并且容器中元素的个数不能变。当然,当创建 array 容器的实例时,要像创建常规数组那样,对元素进行初始化:
std::array<double, 10> values {0.5, 1.0, 1.5, 2.0};
初始化器列表中的 4 个值用于初始化前 4 个元素,其余的元素都将为 0。图 1 说明了这一点。
图 1
通过调用数组对象的成员函数 fill(),可以将所有元素设成给定值。例如:
values.fill(3.1415926);fill() 函数将所有元素都设为传入的实参值。
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频