array::reinterpret_as 方法

通过一维 array_view 重新定义数组,这可能具有和源数组不同的值类型。

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

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

参数

  • _Value_type2
    返回的数据的数据类型。

返回值

array_view 或基于 array 的常量 array_view 对象,元素类型从 T 重新解释为 ElementType,并且级别从 N 减少至 1。

备注

有时将多维数组视作线性、一维数组很方便,这可能可以使值类型不同于源数组。 您可使用此方法来实现。

警告

通过使用不同值类型重复定义数组对象可能是不安全的操作。我们建议您谨慎使用此功能。

以下代码提供了一个示例。

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 类