Compartir a través de


allocator::difference_type

Entero con signo escribe que puede representar la diferencia entre los valores de punteros al tipo de objeto administrado por el asignador.

typedef ptrdiff_t difference_type;

Comentarios

El tipo con signo integer describe un objeto que puede representar la diferencia entre las direcciones de los dos elementos en una secuencia que un objeto del asignador de la clase de plantilla pueda asignar.

Ejemplo

// allocator_diff_type.cpp
// compile with: /EHsc
#include <memory>
#include <iostream>
#include <vector>

using namespace std;

int main( ) 
{
   vector <int> v1;
   vector <int>::iterator v1Iter;
   vector <int>:: allocator_type v1Alloc;

   int i;
   for ( i = 0 ; i <= 7 ; i++ )
   {
      v1.push_back( i * 2 );
   }

   cout << "The original vector v1 is:\n ( " ;
   for ( v1Iter = v1.begin( ) ; v1Iter != v1.end( ) ; v1Iter++ )
      cout << *v1Iter << " ";
   cout << ")." << endl;

   allocator<int>::const_pointer v1PtrA, v1PtrB;
   const int kA = 4, kB =12;
   v1PtrA = v1Alloc.address( kA );
   v1PtrB = v1Alloc.address( kB );
   allocator<int>::difference_type v1diff = *v1PtrB - *v1PtrA;

   cout << "Pointer v1PtrA addresses " << *v1PtrA << "." << endl;
   cout << "Pointer v1PtrB addresses " << *v1PtrB <<  "." << endl;
   cout << "The difference between the integer's addresses is: "
        << v1diff << "." << endl;
}
  

Requisitos

Encabezado: <memory>

Espacio de nombres: std

Vea también

Referencia

allocator (Clase)