raw_storage_iterator::Operator =
Operador de atribuição usado para implementar a expressão de iterador de armazenamento bruto *i = x para armazenar na memória.
raw_storage_iterator<ForwardIterator, Type>& operator=(
const Type& _Val
);
Parâmetros
- _Val
O valor do tipo Tipo a ser inserido na memória.
Valor de retorno
O operador insere _Val na memória, e então retorna uma referência ao iterador bruto de armazenamento.
Comentários
Os requisitos para ForwardIterator indicam que o iterador bruto de armazenamento deve satisfazer requer apenas a expressão *ii = t é válida, e que não informa nada sobre operator ou operator= no seu próprio.Esses operadores *thisde retorno do membro.
O operador de atribuição constrói o próximo objeto na seqüência de saída usando o valor armazenado de iterador primeiro, avaliando a nova expressão new de posicionamento (void (*) &*first) Tipo_Val().
Exemplo
// 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;
}
Requisitos
Cabeçalho: <memory>
namespace: STD