Partager via


valarray::operator=

Assigne des éléments à un valarray dont les valeurs sont spécifiées directement ou dans le cadre d'un autre valarray ou par un slice_array, gslice_array, mask_array, ou indirect_array.

valarray<Type>& operator=(
   const valarray<Type>& _Right
);
valarray<Type>& operator=(
   valarray<Type>&& _Right
);
valarray<Type>& operator=(
   const Type& _Val
);
valarray<Type>& operator=(
   const slice_array<Type>& _Slicearray
);
valarray<Type>& operator=(
   const gslice_array<Type>& _Gslicearray
);
valarray<Type>& operator=(
   const mask_array<Type>& _Maskarray
);
valarray<Type>& operator=(
   const indirect_array<Type>& _Indarray
);

Paramètres

  • _Right
    Le valarray à copier dans le valarray opérande.

  • _Val
    La valeur à assigner aux éléments du valarray opérande.

  • _Slicearray
    Le slice_array à copier dans le valarray opérande.

  • _Gslicearray
    Le gslice_array à copier dans le valarray opérande.

  • _Maskarray
    Le mask_array à copier dans le valarray opérande.

  • _Indarray
    L'indirect_array à copier dans le valarray opérande.

Valeur de retour

Le premier opérateur membre remplace l'ordre d'exécution des instructions par une copie de la séquence contrôlée par _Right.

Le deuxième opérateur membre est le même que le premier, mais avec Déclarateur de référence Rvalue : &&.

Le troisième opérateur membre remplace chaque élément de l'ordre d'exécution des instructions par une copie d' _Val.

Les opérateurs autres membres substituent les éléments de l'ordre d'exécution des instructions sélectionné par leurs arguments, créés uniquement par opérateur [].

Si la valeur d'un membre dans l'ordre d'exécution des instructions de remplacement dépend d'un membre dans l'ordre d'exécution des instructions initial, le résultat n'est pas défini.

Notes

Si la longueur de l'ordre d'exécution des instructions change, le résultat est généralement pas défini.Dans cette implémentation, toutefois, l'effet est simplement d'invalider tous les pointeurs ou des références aux éléments dans l'ordre d'exécution des instructions.

Exemple

// valarray_op_assign.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>

int main( )
{
   using namespace std;
   int i;

   valarray<int> va ( 10 ), vaR ( 10 );
   for ( i = 0 ; i < 10 ; i += 1 )
      va [ i ] = i;
   for ( i = 0 ; i < 10 ; i+=1 )
      vaR [ i ] = 10 -  i;

   cout << "The operand valarray va is:";
   for ( i = 0 ; i < 10 ; i++ )
      cout << " " << va [ i ];
   cout << endl;

   cout << "The operand valarray vaR is:";
      for ( i = 0 ; i < 10 ; i++ )
         cout << " " << vaR [ i ];
   cout << endl;

   // Assigning vaR to va with the first member functon
   va = vaR;
   cout << "The reassigned valarray va is:";
   for ( i = 0 ; i < 10 ; i++ )
      cout << " " << va [ i ];
   cout << endl;

   // Assigning elements of value 10 to va
   // with the second member functon
   va = 10;
   cout << "The reassigned valarray va is:";
      for ( i = 0 ; i < 10 ; i++ )
         cout << " " << va [ i ];
   cout << endl;
}
  

Configuration requise

en-tête : <valarray>

l'espace de noms : DST

Voir aussi

Référence

valarray Class