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