共用方式為


array 類別

表示用來將資料移至加速器的資料容器。

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

參數

  • _Value_type
    資料的項目類型。

  • _Rank
    陣列的順位。

Members

公用建構函式

名稱

描述

array::array 建構函式

初始化 array 類別的新執行個體。

array::~array 解構函式

終結 array 物件。

公用方法

名稱

描述

array::copy_to 方法

將陣列的內容複製到另一個陣列。

array::data 方法

傳回陣列的原始資料的指標。

array::get_accelerator_view 方法

傳回代表陣列配置位置的 accelerator_view 物件。 這個屬性只能在 CPU 上存取。

array::get_associated_accelerator_view 方法

取得在呼叫預備環境建構函式以執行個體化 array 物件時,當做參數傳遞的第二個 accelerator_view 物件。

array::get_cpu_access_type 方法

傳回陣列的 access_type。 這個方法只能在 CPU 上存取。

array::get_extent 方法

傳回陣列的 extent 物件。

array::reinterpret_as 方法

array 會傳回包含二維字串陣列的物件。

array::section 方法

傳回一個在指定原點的 array 物件的子區段,且可選擇性地指定範圍 。

array::view_as 方法

傳回從 array 物件建構的 array_view 物件。

公用運算子

名稱

描述

array::operator std::vector<_Value_type> 運算子

使用 copy(*this, vector) 隱式轉換陣列為 vstd::ector 物件。

array::operator() 運算子

傳回參數指定的項目值。

array::operator[] 運算子

傳回位在指定索引的項目。

array::operator= 運算子

將指定之 array 物件的內容複製到這個物件。

公用常數

名稱

描述

array::rank 常數

儲存陣列的順位。

公用資料成員

名稱

描述

array::accelerator_view 資料成員

取得 accelerator_view 物件,這個物件表示配置陣列的位置。 這個屬性只能在 CPU 上存取。

array::associated_accelerator_view 資料成員

取得在呼叫預備環境建構函式以執行個體化 array 物件時,當做參數傳遞的第二個 accelerator_view 物件。

array::cpu_access_type 資料成員

取得 access_type,表示 CPU 存取陣列儲存區的方式。

array::extent 資料成員

取得定義陣列圖形的範圍。

備註

array<T,N> 類型表示位於特定位置的密集且規則 (非不規則) 的 N 維陣列,例如加速器或 CPU。 陣列中元素的資料類型為 T,該類型必須是與目標加速器相容的類型。 雖然陣序 N (陣列的) 是以靜態方式決定,且屬於類型的一部分,但範圍是由執行階段決定,且使用 extent<N> 類別來表示。

雖然有些功能是針對陣序為一、二或三的 array 物件特製化,但是陣列可以有任何數目的維度。 如果您省略維度引數,預設值是 1 。

陣列資料在記憶體內部是連續配置。 在最小顯著性維度中相差一的項目,在記憶體內部是相鄰的。

陣列在邏輯上視為數值類型,因為陣列在複製給另一陣列時是執行深層複製。 兩個陣列永遠不會指向相同資料。

array<T,N> 類型可在數種情節中使用:

  • 做為可在加速器上用於計算的資料容器。

  • 做為要在主機 CPU 上保留記憶體的資料容器 (可以做為其他陣列的複製來源和目的)。

  • 做為在主機至裝置複本中當做快速中繼的預備環境物件。

繼承階層架構

array

需求

**標頭:**amp.h

**命名空間:**並行

請參閱

參考

Concurrency 命名空間 (C++ AMP)