std::valarray<T>::shift
De fr.cppreference.net
valarray<T> shift( int count ) const;
|
||
Renvoie un nouveau valarray de même taille dont les éléments sont décalés de count éléments. La nouvelle position de chaque élément est i−count où i est la position précédente. La valeur des éléments décalés est T().
Paramètres
| count | - | nombre de positions pour décaler les éléments |
Valeur de retour
Le valarray résultant avec les éléments décalés.
Remarques
La fonction peut être implémentée avec un type de retour différent de std::valarray. Dans ce cas, le type de remplacement possède les propriétés suivantes :
- Tous les
constfonctions membres de std::valarray sont fournis. - std::valarray, std::slice_array, std::gslice_array, std::mask_array et std::indirect_array peuvent être construits à partir du type de remplacement.
- Pour chaque fonction prenant un
const std::valarray<T>&sauf begin() et end()(depuis C++11), des fonctions identiques prenant les types de remplacement doivent être ajoutées ; - Pour chaque fonction prenant deux
const std::valarray<T>&arguments, des fonctions identiques prenant toutes les combinaisons deconst std::valarray<T>&et des types de remplacement doivent être ajoutées. - Le type de retour n'ajoute pas plus de deux niveaux d'imbrication de template par rapport au type d'argument le plus profondément imbriqué.
Exemple
Exécuter ce code
#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.shift(2); for (auto const& val : v2) std::cout << val << ' '; std::cout << '\n'; }
Sortie :
1 2 3 4 5 6 7 8 3 4 5 6 7 8 0 0
Voir aussi
|
décalage circulaire des éléments du valarray
(fonction membre publique) |