Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Dereferenzierungsoperator, mit dem der Rohdaten-Speicheriteratorausdruck *ii = x implementiert wird
raw_storage_iterator<ForwardIterator, Type>& operator*( );
Rückgabewert
Ein Verweis auf unformatierten Speicheriterator
Hinweise
Die Anforderungen für ForwardIterator sind, dass der unformatierte Speicheriterator erfüllen muss erfordern nur das Ausdruck *ii = das t gültig ist und dass er nichts über Operator oder operator= auf eigenen angezeigt.Die Memberoperatoren in dieser Implementierung gibt *this zurück, damit operator=(constTyp&) den tatsächlichen Speicher in einem Ausdruck ausführen kann, wie *_Ptr = _Val.
Beispiel
// 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;
}
Anforderungen
Header: <memory>
Namespace: std