std::get_temporary_buffer
De 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. |
| Defined in header <memory>
|
||
| template< class T > std::pair< T*, std::ptrdiff_t > get_temporary_buffer( std::ptrdiff_t count ) |
||
Asigna almacenamiento suficiente para almacenar hasta
count objetos adyacentes de T tipo. Si no hay suficiente memoria para todos los objetos count, asigna menos de count, si es posible .Original:
Allocates storage sufficient to store up to
count adjacent objects of type T. If there is insufficient memory for all count objects, allocates less than count, if possible.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.
Contenido |
[editar] Parámetros
| count | - | el número de objetos para asignar
Original: the number of objects to allocate The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[editar] Valor de retorno
Un std::pair sostiene un puntero al comienzo del almacenamiento asignado y el número de objetos que se ajustan en el almacenamiento que se ha asignado realmente (que puede ser cero) .
Original:
An std::pair holding a pointer to the beginning of the allocated storage and the number of objects that fit in the storage that was actually allocated (may be zero).
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] Excepciones
[editar] Ejemplo
#include <algorithm> #include <iostream> #include <memory> #include <string> int main() { const std::string s[] = {"string", "1", "test", "..."}; std::string* p = std::get_temporary_buffer<std::string>(4).first; std::copy(std::begin(s), std::end(s), std::raw_storage_iterator<std::string*, std::string>(p)); for (std::string* i = p; i != p+4; ++i) { std::cout << *i << '\n'; i->~basic_string<char>(); } std::return_temporary_buffer(p); }
Output:
string 1 test ...
[editar] Ver también
| libera almacenamiento sin inicializar Original: frees uninitialized storage The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (función de plantilla) | |