Biblioteca Valarray de C ++ - Función gslice
Descripción
Un segmento generalizado de valarray se especifica mediante un índice de inicio, un conjunto de tamaños y un conjunto de pasos, y esta clase representa un selector de segmento generalizado de valarray (un segmento multidimensional). No contiene ni se refiere a ningún elemento, solo describe una selección de elementos para ser usados como índice en valarray :: operator [].
Declaración
A continuación se muestra la declaración de la función std :: gslice.
class gslice;
C ++ 11
class gslice;
Parámetros
ninguna
Valor devuelto
ninguna
Excepciones
Basic guarantee - si alguna operación realizada en los elementos arroja una excepción.
Carreras de datos
Se accede a todos los elementos efectivamente copiados.
Ejemplo
En el siguiente ejemplo se explica la función std :: gslice.
#include <iostream>
#include <cstddef>
#include <valarray>
int main () {
std::valarray<int> foo (12);
for (int i=0; i<12; ++i) foo[i]=i;
std::size_t start=1;
std::size_t lengths[]= {2,3};
std::size_t strides[]= {7,2};
std::gslice mygslice (start,
std::valarray<std::size_t>(lengths,2),
std::valarray<std::size_t>(strides,2));
std::valarray<int> bar = foo[mygslice];
std::cout << "gslice:";
for (std::size_t n=0; n<bar.size(); n++)
std::cout << ' ' << bar[n];
std::cout << '\n';
return 0;
}
Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:
gslice: 1 3 5 8 10 0