Udostępnij za pośrednictwem


raw_storage_iterator::operator*

Operator dereferencji używanych do implementowania wyrażenie sterująca pojemności *ii = x.

raw_storage_iterator<ForwardIterator, Type>& operator*( );

Wartość zwracana

Odwołanie do iteratora pojemności

Uwagi

Wymagania dotyczące ForwardIterator są takie, że surowce sterująca magazynu muszą spełniać wymagają tylko wyrażenie *ii = t ważność i nie mówi nic o operatora lub operator= na własny.Zwraca podmiotów gospodarczych w tej implementacji * to, tak aby operator =(consttypu&) można wykonywać rzeczywisty magazyn w wyrażeniu, takie jak *_Ptr = _Val. 

Przykład

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

Wymagania

Nagłówek: <pamięć>

Przestrzeń nazw: std

Zobacz też

Informacje

raw_storage_iterator — Klasa