<div class="t-tr-text">C + +: conceitos<div class="t-tr-dropdown"><div><div><div class="t-tr-dropdown-arrow-border"></div><div class="t-tr-dropdown-arrow"></div><div class="t-tr-dropdown-h">Original:</div><div class="t-tr-dropdown-orig">C++ concepts:</div><div class="t-tr-dropdown-notes">The text has been machine-translated via [http://translate.google.com Google Translate].<br/> You can help to correct and verify the translation. Click [http://en.cppreference.com/w/Cppreference:MachineTranslations here] for instructions.</div></div></div></div></div> Allocator
Da cppreference.com
![]() | This page has been machine-translated from the English version of the wiki using Google Translate. The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Encapsula estratégia de alocação de memória e desalocação.
Original:
Encapsulates memory allocation and deallocation strategy.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Cada componente biblioteca padrão que pode ser necessário alocar ou liberar o armazenamento, a partir
std::string
, std::vector
, e cada recipiente, exceto std::array
, para std::shared_ptr
e std::function
, o faz através de um Allocator
: um objeto de um tipo de classe que preencha os seguintes requisitos.Original:
Every standard library component that may need to allocate or release storage, from
std::string
, std::vector
, and every container except std::array
, to std::shared_ptr
and std::function
, does so through an Allocator
: an object of a class type that satisfies the following requirements.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Alguns requisitos são opcionais: o std::allocator_traits modelo fornece as implementações padrão para todos os requisitos opcionais, e todos os recipientes de biblioteca padrão e outros alocador de reconhecimento de classes de acesso a alocador através
std::allocator_traits
, não diretamente.Original:
Some requirements are optional: the template std::allocator_traits supplies the default implementations for all optional requirements, and all standard library containers and other allocator-aware classes access the allocator through
std::allocator_traits
, not directly.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[editar]Requisitos
Dado
Original:
Given
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
A
, um alocador deT
tipoOriginal:A
, an Allocator for typeT
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.B
, o alocador mesmo paraU
tipoOriginal:B
, the same Allocator for typeU
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.ptr
, um valor deallocator_traits<A>::pointer
tipo, obtido por chamado allocator_traits<A>::allocate()Original:ptr
, a value of typeallocator_traits<A>::pointer
, obtained by calling allocator_traits<A>::allocate()The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.cptr
, um valor deallocator_traits<A>::const_pointer
tipo, obtido por conversão a partir deptr
Original:cptr
, a value of typeallocator_traits<A>::const_pointer
, obtained by conversion fromptr
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.vptr
, um valor deallocator_traits<A>::void_pointer
tipo, obtido por conversão a partir deptr
Original:vptr
, a value of typeallocator_traits<A>::void_pointer
, obtained by conversion fromptr
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.cvptr
, um valor deallocator_traits<A>::const_void_pointer
tipo, obtido por conversão a partir decptr
ou devptr
Original:cvptr
, a value of typeallocator_traits<A>::const_void_pointer
, obtained by conversion fromcptr
or fromvptr
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.xptr
, um ponteiro para alguns dereferencableX
tipoOriginal:xptr
, a dereferencable pointer to some typeX
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Expression | Requirements | Return type |
---|---|---|
A::pointer(opcional) | Satisfies NullablePointer and RandomAccessIterator | |
A::const_pointer(opcional) | A::pointer is convertible to A::const_pointer . Satisfies NullablePointer and RandomAccessIterator | |
A::void_pointer(opcional) | A::pointer is convertible to A::void_pointer B::void_pointer e A::void_pointer são do mesmo tipo. NullablePointer satisfazOriginal: The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. | |
A::const_void_pointer(opcional) | A::pointer , A::const_pointer , and A::void_pointer are convertible to A::const_void_pointer B::const_void_pointer e A::const_void_pointer são do mesmo tipo. NullablePointer satisfazOriginal: The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. | |
A::value_type | the type T | |
A::size_type(opcional) | A::size_type can represent the size of the largest object A can allocate | unsigned integer type |
A::difference_type(opcional) | A::difference_type can represent the difference of any two pointers to the objects allocated by A | signed integer type |
A::template rebind<U>::other(opcional [1]) | for any U , B::template rebind<T>::other is A | the type B |
*ptr | T& | |
*cptr | *cptr and *ptr identify the same object | const T& |
ptr->m | same as (*ptr).m, if (*ptr).m is well-defined | the type of T::m |
cptr->m | same as (*cptr).m, if (*cptr).m is well-defined | the type of T::m |
static_cast<A::pointer>(vptr) | static_cast<A::pointer>(vptr)== ptr | A::pointer |
static_cast<A::const_pointer>(cvptr) | static_cast<A::const_pointer>(vptr)== cptr | A::const_pointer |
a.allocate(n) | allocates storage suitable for n objects of type T , but does not construct them. May throw exceptions. | A::pointer |
a.allocate(n, cptr)(opcional) | same as a.allocate(n) , but may use cptr in unspecified manner to aid locality | A::pointer |
a.deallocate(ptr, n) | deallocates storage previously allocated by a call to a.allocate(n). Does not call destructors, if any objects were constructed, they must be destroyed before calling a.deallocate(). Does not throw exceptions. | (not used) |
a.max_size()(opcional) | the largest value that can be passed to A::allocate() | A::size_type |
a1 == a2 | returns true only if the storage allocated by the allocator a1 can be deallocated through a2 . Establishes reflexive, symmetric, and transitive relationship. Does not throw exceptions. | bool |
a1 != a2 | same as !(a1==a2) | bool |
A a1(a) | Copy-constructs a1 such that a1 == a. Does not throw exceptions. | |
A a(b) | Constructs a such that B(a)==b and A(b)==a. Does not throw exceptions. | |
A a1(std::move(a)) | Constructs a1 such that it equals the prior value of a . Does not throw exceptions. | |
A a(std::move(b)) | Constructs a such that it equals the prior value of A(b) . Does not throw exceptions. | |
a.construct(xptr, args)(opcional) | Constructs an object of type X in previously-allocated storage at the address pointed to by xptr , using args as the constructor arguments | |
a.destroy(xptr)(opcional) | Destructs an object of type X pointed to by xptr , but does not deallocate any storage. | |
a.select_on_container_copy_construction()(opcional) | Provides an instance of A to be used by the container that is copy-constructed from the one that uses a currently. Usually returns either a copy of a or a default-constructed A() . | A |
a.propagate_on_container_copy_assignment(opcional) | true if the allocator of type A needs to be copied when the container that uses it is copy-assigned | std::true_type or std::false_type or derived from such |
a.propagate_on_container_move_assignment(opcional) | true if the allocator of type A needs to be copied when the container that uses it is move-assigned | std::true_type or std::false_type or derived from such |
a.propagate_on_container_swap(opcional) | true if the allocators of type A need to be swapped when two containers that use them are swapped | std::true_type or std::false_type or derived from such |
Notas:
Original:
Notes:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[1] de reativação é apenas opcional (fornecido pelo std :: allocator_traits) se este é um modelo de alocação do SomeAllocator forma <T, args>, onde Args é zero ou mais parâmetros do modelo adicionais.
Original:
[1] rebind is only optional (provided by std::allocator_traits) if this allocator is a template of the form SomeAllocator<T, Args>, where Args is zero or more additional template parameters.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.