Partilhar via


valarray::operator=

Atribui os elementos em um valarray cujos valores são especificados diretamente ou como parte de qualquer outro valarray ou por um 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 
);

Parâmetros

  • _Right
    O valarray a ser copiado do operando valarray.

  • _Val
    O valor a ser atribuído a elementos do operando valarray.

  • _Slicearray
    O slice_array a ser copiado do operando valarray.

  • _Gslicearray
    O gslice_array a ser copiado do operando valarray.

  • _Maskarray
    O mask_array a ser copiado do operando valarray.

  • _Indarray
    O indirect_array a ser copiado do operando valarray.

Valor de retorno

O primeiro operador de membro substitui a sequência controlada por uma cópia de sequência controlada por _Right.

O segundo operador membro é o mesmo que o primeiro, mas com Declarador de referência Rvalue: &&.

O terceiro operador de membro substitui cada elemento da sequência controlada por uma cópia de _Val.

Os operadores restantes de membro personalizado substituem os elementos de sequência controlada selecionada por seus argumentos, que são gerados apenas por operador [].

Se o valor de um membro na sequência controlada substituição depende de um membro na sequência controlada inicial, o resultado será indefinido.

Comentários

Se o comprimento da sequência controlada muda, o resultado normalmente é indefinido. Nessa implementação, porém, o efeito é meramente invalidar todos os ponteiros ou referências aos elementos da sequência controlada.

Exemplo

// 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;
}
  

Requisitos

Cabeçalho: <valarray>

Namespace: std

Consulte também

Referência

Classe valarray