raw_storage_iterator::operator=

Zuweisungsoperator verwendet, um die Rohdaten- Speicheriteratorausdruck *i = x zum Speichern im Arbeitsspeicher zu implementieren.

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

Parameter

  • _Val
    Der Wert des Objekts vom Typ in den Arbeitsspeicher eingefügt werden Typ.

Rückgabewert

Der Operator fügt _Val in den Arbeitsspeicher ein und gibt dann einen Verweis auf den unformatierten Speicheriterator zurück.

Hinweise

Die Anforderungen für ForwardIterator geben an, dass der unformatierte Speicheriterator erfüllen muss, dass nur der Ausdruck *ii = t gültig ist, und dass er nichts über Operator oder operator= allein aussagt.Diese Memberoperatoren geben *this zurück.

Der Zuweisungsoperator erstellt das folgende Objekt in der Ausgabesequenz mithilfe des gespeicherten Iteratorwerts zuerst, indem er den neuen Ausdruck new (void ergibt (*) &*first) Typ(_Val) der Platzierung.

Beispiel

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

Anforderungen

Header: <memory>

Namespace: std

Siehe auch

Referenz

raw_storage_iterator Class