raw_storage_iterator::operator=

Operador de asignación se utiliza para implementar el *i sin formato de la expresión de iterador de almacenamiento = x para almacenar en memoria.

raw_storage_iterator<ForwardIterator, Type>& operator=(
   const Type& _Val
);

Parámetros

  • _Val
    El valor del objeto de tipo escrito en memoria.

Valor devuelto

El operador inserta _Val en memoria, y devuelve una referencia al iterador sin formato de almacenamiento.

Comentarios

Los requisitos para ForwardIterator indican que el iterador sin formato de almacenamiento debe satisfacer sólo requiere el *ii = t de la expresión es válido, y que no aparece ninguna sobre operador o operator= en solitario.Estos operadores *thisreturn de miembro.

El operador de asignación construye el objeto siguiente en la secuencia de salida con el valor almacenado de iterador primero, evalúa el nuevo de la expresión de ubicación ((void*) &*first) tipo (_Val).

Ejemplo

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

encabezado: <memoria>

espacio de nombres: std

Vea también

Referencia

raw_storage_iterator Class