std::get_temporary_buffer
De cppreference.com
<metanoindex/>
<tbody> </tbody>| Definido no cabeçalho <memory>
|
||
template< class T > std::pair< T*, std::ptrdiff_t > get_temporary_buffer( std::ptrdiff_t count ) |
||
Aloca armazenamento suficiente para armazenar até
count objetos adjacentes de T tipo. Se não houver memória suficiente para todos os objetos count, aloca menos de count, se possível.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.
Parâmetros
| count | - | o número de objetos para alocar
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. |
Valor de retorno
Uma std::pair mantendo um ponteiro para o início do armazenamento alocado e o número de objectos que se encaixam no armazenamento que foi efectivamente reservada (pode ser zero).
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.
Exceções
Exemplo
#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);
}
Saída:
string
1
test
...
