array 类

表示用于将数据移动至快捷键的数据容器。

template <
   typename _Value_type,
   int _Rank
>
friend class array;

参数

  • _Value_type
    数据的元素类型。

  • _Rank
    数组的秩。

成员

公共构造函数

名称

描述

array::array 构造函数

初始化 array 类的新实例。

array::~array 析构函数

销毁 array 对象。

公共方法

名称

描述

array::copy_to 方法

将数组的内容复制到另一个数组中。

array::data 方法

返回指向数组原始数据的指针。

array::get_accelerator_view 方法

返回代表数组分配位置的 accelerator_view 对象。 仅可在 CPU 上访问此属性。

array::get_associated_accelerator_view 方法

获取当调用临时构造函数以使数组对象实例化时作为参数传入的第二个 accelerator_view 对象。

array::get_cpu_access_type 方法

返回数组的 access_type。 仅可在 CPU 上访问此方法。

array::get_extent 方法

返回数组的范围对象。

array::reinterpret_as 方法

返回包含 array 对象中所有元素的一维数组。

array::section 方法

返回指定原子上并且选择性地具有指定范围的数组对象的字部分。

array::view_as 方法

返回从 array 对象构造的 array_view 对象。

公共运算符

名称

描述

array::operator std::vector<_Value_type> 运算符

使用 copy(*this, vector) 可通过隐式的方式将数组转换为 std::vector 对象。

array::operator() 运算符

返回参数指定的元素值。

array::operator[] 运算符

返回位于指定索引处的元素。

array::operator= 运算符

将指定的 array 对象的内容复制到此对象中。

公共常量

名称

描述

array::rank 常量

存储数组的秩。

公共数据成员

名称

描述

array::accelerator_view 数据成员

获取表示数组分配的位置的 accelerator_view 对象。 仅可在 CPU 上访问此属性。

array::associated_accelerator_view 数据成员

获取当调用临时构造函数以使数组对象实例化时作为参数传入的第二个 accelerator_view 对象。

array::cpu_access_type 数据成员

获取表示 CPU 如何能够访问数组存储的 access_type

array::extent 数据成员

获取定义数组形状的范围。

备注

array<T,N> 类型表示密集型和常规(不带锯齿的)N-维数组,该数组位于特定位置,例如快捷键或 CPU。 数组中元素的数据类型是 T,此类型必须与目标快捷键兼容。 尽管数组的级别 N 是静态确定的且是该类型的一部分,但数组的范围是由运行时确定,并且是使用类 extent<N> 来表达的。

数组可以具有任意数量的维度,尽管某些功能是级别为1、2、3 的 array 对象的专用功能。 如果省略维度参数,默认值将为 1。

数组数据在内存中连续排放。 在最低有效位维中有一位不同的元素在内存中是相邻的。

数组在逻辑上被视为值类型,这是因为将一个数组复制到另一个数组时,系统会执行深层复制。 两个数组决不指向相同的数据。

array<T,N> 类型用于多个方案中:

  • 作为可用在加速器上的计算中的数据容器。

  • 作为用于保存主机 CPU 上内存的数据容器(可用于复制到其他数组或从其他数组中复制)。

  • 作为暂存对象在主机到设备的复制中充当快速中介。

继承层次结构

array

要求

**标头:**amp.h

命名空间: 并发

请参见

参考

Concurrency 命名空间 (C++ AMP)