通过译为的 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
命名空间: 并发