valarray::operator=
Weist Elemente an ein Array von Werten zu, dessen Werte entweder direkt oder als Teil eines anderen Wertarrays oder durch ein slice_array angegeben werden, ein gslice_array, mask_array, oder 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
);
Parameter
_Right
Der in den Operandenwertarray kopiert werden Wertarray._Val
Der für Operandenwertarrays zugewiesen werden, Wert._Slicearray
Das in den Operandenwertarray kopiert werden slice_array._Gslicearray
Das in den Operandenwertarray kopiert werden gslice_array._Maskarray
Das in den Operandenwertarray kopiert werden mask_array._Indarray
Das in den Operandenwertarray kopiert werden indirect_array.
Rückgabewert
Der erste Memberoperator ersetzt die gesteuerte Sequenz durch eine Kopie der Sequenz, die durch _Right gesteuert wird.
Der zweite Memberoperator entspricht dem ersten, mit Rvalue-Verweisdeklarator: &&.
Der dritte Memberoperator ersetzt jedes Element der gesteuerten Sequenz durch eine Kopie von _Val.
Die übrigen Memberoperatoren ersetzen diese gesteuerten Elemente der Sequenz, die von ihrer Argumente ausgewählt wird, die nur von Operator [] generiert werden.
Wenn der Wert eines Members in der Ersatzgesteuerten Sequenz von einem Member der ursprünglichen Sequenz gesteuerten abhängt, ist das Ergebnis nicht definiert.
Hinweise
Wenn die Länge der Sequenz gesteuerten ändert, wird das Ergebnis im Allgemeinen undefiniert. In dieser Implementierung ist jedoch der Auswirkungen darin, alle Zeiger oder Verweise auf Elemente in der Sequenz gesteuerten ungültig zu machen.
Beispiel
// 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;
}
Anforderungen
Header: <valarray>
Namespace: std