Namespaces
Variants

std::valarray<T>:: cshift

From cppreference.net
valarray < T > cshift ( int count ) const ;

Retorna un nuevo valarray del mismo tamaño con elementos cuyas posiciones son desplazadas circularmente por count elementos.

Un valor no negativo de count desplaza los elementos circularmente hacia la izquierda count posiciones y un valor negativo de count desplaza los elementos circularmente hacia la derecha - count posiciones.

Contenidos

Parámetros

count - número de posiciones para desplazar los elementos

Valor de retorno

El valarray resultante con elementos desplazados circularmente.

Notas

La función puede implementarse con un tipo de retorno diferente de std::valarray . En este caso, el tipo de reemplazo tiene las siguientes propiedades:

Ejemplo

#include <iostream>
#include <valarray>
int main()
{
    std::valarray<int> v{1, 2, 3, 4, 5, 6, 7, 8};
    for (auto const& val : v)
        std::cout << val << ' ';
    std::cout << '\n';
    std::valarray<int> v2 = v.cshift(2);
    for (auto const& val : v2)
        std::cout << val << ' ';
    std::cout << '\n';
}

Salida:

1 2 3 4 5 6 7 8 
3 4 5 6 7 8 1 2

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares publicados anteriormente de C++.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 618 C++98 la expresión de los elementos desplazados
contiene división por cero si size() es 0
describe las nuevas posiciones
sin usar expresiones

Véase también

desplazamiento con relleno de ceros de los elementos del valarray
(función miembro pública)