Metodo array_view::reinterpret_as
Reinterpreta l'oggetto array_view attraverso un oggetto array_view unidimensionale, che come opzione può contenere un tipo di valore differente rispetto all'oggetto array_view di origine.
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);
Parametri
- _Value_type2
Il tipo di dati del nuovo oggetto array_view.
Valore restituito
Un oggetto array_view o un oggetto o una const array_view basato su questo array_view, con il tipo dell'elemento convertito da T a _Value_type2 e il grado ridotto da N a 1.
Note
Talvolta è utile visualizzare una matrice multidimensionale come una matrice unidimensionale, lineare che può contenere un tipo di valore diverso dalla matrice di origine. È possibile ottenere questo risultato su array_view utilizzando questo metodo.
Avviso
La reinterpretazione di un oggetto array_view utilizzando un tipo di valore differente è un'operazione potenzialmente non sicura.Questa funzionalità deve essere utilizzato con cautela.
Di seguito è riportato un esempio:
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);
Requisiti
Intestazione: amp.h
Spazio dei nomi: Concurrency