allocator::allocator
Costruttori utilizzati per creare gli oggetti di un allocatore.
allocator( );
allocator(
const allocator<Type>& _Right
);
template<class Other>
allocator(
const allocator<Other>& _Right
);
Parametri
- _Right
L'oggetto di allocatore da copiare.
Note
Il costruttore non esegue alcuna operazione. Tuttavia, in genere un oggetto allocatore costruito da un altro oggetto allocatore deve confrontare il segno di uguale e consentire il miscuglio dell'allocazione di oggetti e liberare tra i due oggetti di allocatore.
Esempio
// allocator_allocator.cpp
// compile with: /EHsc
#include <memory>
#include <iostream>
#include <vector>
using namespace std;
class Int {
public:
Int( int i )
{
cout << "Constructing " << ( void* )this << endl;
x = i;
bIsConstructed = true;
};
~Int( )
{
cout << "Destructing " << ( void* )this << endl;
bIsConstructed = false;
};
Int &operator++( )
{
x++;
return *this;
};
int x;
private:
bool bIsConstructed;
};
int main( )
{
allocator<double> Alloc;
vector <Int>:: allocator_type v1Alloc;
allocator<double> cAlloc(Alloc);
allocator<Int> cv1Alloc(v1Alloc);
if ( cv1Alloc == v1Alloc )
cout << "The allocator objects cv1Alloc & v1Alloc are equal."
<< endl;
else
cout << "The allocator objects cv1Alloc & v1Alloc are not equal."
<< endl;
if ( cAlloc == Alloc )
cout << "The allocator objects cAlloc & Alloc are equal."
<< endl;
else
cout << "The allocator objects cAlloc & Alloc are not equal."
<< endl;
}
Requisiti
Header: <memory>
Spazio dei nomi: std