std::get_temporary_buffer
Aus 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. |
<metanoindex/>
<tbody> </tbody>| definiert in Header <memory>
|
||
template< class T > std::pair< T*, std::ptrdiff_t > get_temporary_buffer( std::ptrdiff_t count ) |
||
Weist Speicher ausreichen, um bis zu
count angrenzenden Objekte vom Typ T. Wenn es nicht genügend Speicher für alle count Objekte, weist weniger als count, wenn möglich .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.
Parameter
| count | - | die Anzahl der Objekte zu verteilen
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. |
Rückgabewert
Ein std::pair einen Zeiger auf den Beginn des zugewiesenen Speicher und der Anzahl von Objekten, die in der Speichereinheit, die tatsächlich zugewiesen war passen (Null sein kann) .
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.
Ausnahmen
Beispiel
#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
...
Siehe auch
gibt den nicht initialisierten, temporären Speicher (get_temporary_buffer) frei (Funktions-Template) | |