array::reinterpret_as-Methode
Interpretiert das Array durch ein eindimensionales array_view-Objekt neu, das wahlweise einen anderen Werttyp als das Quellarray hat.
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);
Parameter
- _Value_type2
Der Datentyp der zurückgegebenen Daten.
Rückgabewert
Ein array_view- oder const-array_view-Objekt, das auf dem array-Objekt basiert, wobei der Elementtyp von T in ElementType neu interpretiert wird und der Rang von N auf 1 herabgesetzt wird.
Hinweise
Manchmal ist es hilfreich, ein mehrdimensionales Array so anzuzeigen, als wäre es ein lineares, eindimensionales Array, möglicherweise mit einem anderen Werttyp als das Quellarray. Sie können dazu diese Methode verwenden.
Warnung
Ein Arrayobjekt mithilfe eines anderen Werttyps neu zu interpretieren, ist ein potenziell unsicherer Vorgang.Es empfiehlt sich, diese Funktion mit Bedacht zu verwenden.
Der folgende Code veranschaulicht dies.
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);
Anforderungen
Header: amp.h
Namespace: Nebenläufigkeit