viernes, 23 de noviembre de 2012

EVAP2



memoria

Los elementos de memoria
Este encabezado define servicios de utilidad general para la gestión de memoria dinámica:


Los asignadores

·             C + +98
·         asignador     Por defecto asignador (plantilla de clase)

·                  C + +11
·         asignador           Por defecto asignador (plantilla de clase)
·         allocator_arg     Becario arg (objeto)
·         allocator_arg_t  Becario tipo arg (clase)
·         allocator_traits  Rasgos asignador (plantilla de clase)
Punteros administrados
·                 C + +98
·         a   uto_ptr             Puntero automático (plantilla de clase)
·         auto_ptr_ref      La referencia a puntero automático (plantilla de clase)
·         C + 11
·         auto_ptr [obsoleta]     Puntero automático (plantilla de clase)
·         shared_ptr                   Puntero compartido (plantilla de clase)
·         weak_ptr                     Débil puntero compartido (plantilla de clase)
·         unique_ptr                  Único puntero (plantilla de clase)
·         default_delete            Por defecto Deleter (plantilla de clase)

Funciones y clases relacionadas con 
shared_ptr :

make_shared                      Hacer shared_ptr (plantilla de función)
allocate_shared                  Asignar shared_ptr (plantilla de función)
static_pointer_cast             Reparto estático de shared_ptr (plantilla de función)
dynamic_pointer_cast        Reparto dinámico de shared_ptr (plantilla de función)
const_pointer_cast             Const elenco de shared_ptr (plantilla de función)
get_deleter                         Cómo Deleter de shared_ptr (plantilla de función)
owner_less                          Propietario basado en menos-que la operación (plantilla de clase)
enable_shared_from_this   Habilitar shared_from_this (plantilla de clase)

Memoria sin inicializar

Iterador almacenamiento Raw :

raw_storage_iterator.        Iterador almacenamiento Raw (plantilla de clase)

Buffers temporales :
get_temporary_buffer.       Obtenga bloque de memoria temporal (plantilla de función)
return_temporary_buffer.   Volver bloque de memoria temporal (plantilla de función)
Algoritmos especializados :
·                         C + +98
·         uninitialized_copy    Copiar bloque de memoria (plantilla de función)
·         uninitialized_fill       Rellene bloque de memoria (plantilla de función)
·         uninitialized_fill_n   Rellene bloque de memoria (plantilla de función)

·                             C + 11
·         uninitialized_copy           Copiar bloque de memoria (plantilla de función)
·         uninitialized_copy_n       Copiar bloque de memoria (plantilla de función)
·         uninitialized_fill               Rellene bloque de memoria (plantilla de función)
·         uninitialized_fill_n          Rellene bloque de memoria (plantilla de función)

Memoria modelo
·                      C + +98     (Ninguno)

·                         C + 11
·         pointer_traits                       Rasgos Pointer (plantilla de clase)
·         pointer_safety                     Puntero seguridad enumeración (enum class)
·         declare_reachable               Declarar puntero como alcanzable (función)
·         undeclare_reachable           Undeclare puntero como alcanzable (plantilla de función)
·         declare_no_pointers            Declarar como bloque de memoria que no contiene punteros (función)
·         undeclare_no_pointers        Undeclare bloque de memoria como que no contiene punteros (función)
·         get_pointer_safety               Obtenga seguridad puntero (función)
·         alinear                                   Alinear en el rango (función)
·         AddressOf                             Dirección de objeto o función (plantilla de función

 

 

std :: auto_ptr :: auto_ptr


Construir objeto auto_ptr




Construye un auto_ptr objeto bien de un puntero o de otro auto_ptr objeto. Desde auto_ptr objetos de tomar posesión del puntero que apunte a , cuando un nuevo auto_ptr se construye a partir de otro auto_ptr , el antiguo propietario libera la misma.

Parámetros

p
Puntero a un objeto de tipo X , que es el auto_ptr parámetro 's plantilla. 
Si este parámetro es 0 el auto_ptr es un puntero nulo (señala a ninguna parte).
un
Un auto_ptr objeto. La propiedad se quitarán de ella, por lo tanto, una que se suelte. 
Cuando los tipos celebradas por el origen y destino auto_ptr s son diferentes, una conversión implícita deben estar disponibles entre sus punteros.
r
Un auto_ptr_ref objeto (una referencia a auto_ptr ). X es auto_ptr parámetro 's plantilla (es decir, el tipo de punta).

Véase también

auto_ptr :: operator = Liberación y copia auto_ptr (función miembro pública)
auto_ptr :: restablecer Desasignar objeto apuntado y establecer un nuevo valor (función miembro pública)
auto_ptr :: ~ auto_ptr Destruye auto_ptr (función miembro pública)
 auto_ptr :: liberación  Release puntero (función miembro pública)
auto_ptr :: operator = Liberación y copia auto_ptr (función miembro pública)
auto_ptr :: get            Cómo puntero (función miembro pública)
auto_ptr :: liberación  Release puntero (función miembro pública)
auto_ptr :: operator = Liberación y copia auto_ptr (función miembro pública)
auto_ptr :: get            Cómo puntero (función miembro pública)


Ejemplo



Ejemplo


/ / Ejemplo auto_ptr 
# include 
# include <memory>
 
int main () {
  std :: auto_ptr < int > p1 ( nuevo  int );
  * P1.get () = 10;
 
  std :: auto_ptr < int > p2 (p1);
 
  std :: cout << "puntos p2 a" << * p2 << '\ n' ;
   / / (p1 ahora es puntero nulo auto_ptr)
 
  devolver 0;
}


Salida:
 
puntos P2 a 10

Ejemplo


/ / :: Auto_ptr ejemplo restablecimiento 
# include 
# include <memory>
 
int main () {
  std :: auto_ptr < int > p;
 
  p.reset ( nuevo  int );
  * P = 5;
  std :: cout << * p << '\ n' ;
 
  p.reset ( nuevo  int );
  * P = 10;
  std :: cout << * p << '\ n' ;
 
  devolver 0;
}


Salida:
 
5
10

Ejemplo

/ / Auto_ptr :: liberación ejemplo 
# include 
# include <memory>
 
int main () {
  std :: auto_ptr < int > auto_pointer ( nuevo  int )
   int * manual_pointer;
 
  * Auto_pointer = 10;
 
  manual_pointer auto_pointer.release = ();
 
  std :: cout << "puntos manual_pointer a" << * manual_pointer << '\ n' ;
   / / (auto_pointer ahora es puntero nulo auto_ptr)
 
  eliminar manual_pointer;
 
  devolver 0;
}

Ejemplo


/ / Auto_ptr :: operator = ejemplo 
# include 
# include <memory>
 
int main () {
  std :: auto_ptr < int > p;
  std :: auto_ptr < int > p2;
 
  p = std :: auto_ptr < int > ( nuevo  int );
 
  * P = 11;
 
  p2 = p;
 
  std :: cout << "puntos p2 a" << * p2 << '\ n' ;
   / / (p es ahora nulo puntero auto_ptr)
 
  devolver 0;
}


Salida:
 
puntos P2 a 11








No hay comentarios:

Publicar un comentario