raw_storage_iterator::operator=
Operatore di assegnazione utilizzato per implementare il *i non elaborato di espressione iteratore di archiviazione = x per archiviare in memoria.
raw_storage_iterator<ForwardIterator, Type>& operator=(
const Type& _Val
);
Parametri
- _Val
Il valore dell'oggetto di tipo Tipo da inserire in memoria.
Valore restituito
L'operatore inserisce _Val in memoria e quindi restituisce un riferimento all'iteratore non elaborato di archiviazione.
Note
I requisiti per ForwardIterator dichiarano dell'iteratore non elaborato di archiviazione deve soddisfare richiede solo il *ii di espressione = la t è valido e non si operatore su nothing o operator= da sola. Questi operatori *thisreturn del membro.
L'operatore di assegnazione crea l'oggetto seguente sequenza di output utilizzando il valore memorizzato iteratori innanzitutto, valutare l'espressione nuova (void (*)&*first) Tipo(_Val) di posizione.
Esempio
// raw_storage_iterator_op_assign.cpp
// compile with: /EHsc
#include <iostream>
#include <iterator>
#include <memory>
#include <list>
using namespace std;
class Int
{
public:
Int( int i )
{
cout << "Constructing " << i << endl;
x = i;
bIsConstructed = true;
};
Int &operator=( int i )
{
if ( !bIsConstructed )
cout << "Not constructed.\n";
cout << "Copying " << i << endl; x = i;
return *this;
};
int x;
private:
bool bIsConstructed;
};
int main( void )
{
Int *pInt = ( Int* )malloc( sizeof( Int ) );
memset( pInt, 0, sizeof( Int ) ); // Set bIsConstructed to false;
*pInt = 5;
raw_storage_iterator<Int*, Int> it( pInt );
*it = 5;
}
Requisiti
Header: <memory>
Spazio dei nomi: std