array_view::reinterpret_as 方法

通过译为的 array_view 重新定义 array_view,其作为选项可能具有和源 array_view 不同的值类型。

template <
   typename _Value_type2
>
array_view<_Value_type2, _Rank> reinterpret_as() const restrict(amp,cpu);

template <
   typename _Value_type2
>
array_view<const _Value_type2, _Rank> reinterpret_as() const restrict(amp,cpu);

参数

  • _Value_type2
    array_view 项目的数据类型。

返回值

array_view 对象或基于此 array_view 的常量 array_view 对象,元素类型从 T 转换为 _Value_type2,级别从 N 减少至 1。

备注

有时将多维数组视作线性、一维数组很方便,这可以使值类型不同于源数组。 您可使用此方法在 array_view 上对此进行归档。

警告

通过使用不同值类型重复定义 array_view 对象可能是不安全的操作。应慎用此功能。

这是一个示例:

struct RGB { float r; float g; float b; };

array<RGB,3>  a = ...; 
array_view<float,1> v = a.reinterpret_as<float>(); 

assert(v.extent == 3*a.extent);

要求

**标头:**amp.h

命名空间: 并发

请参见

参考

array_view 类