#include
<memory>
template <class T> pair<T*, ptr_diff_t> get_temporary_buffer (ptr_diff_t n) // geächtet in C++17
Besorgt einen Speicherbereich, der groß genug ist, n
Objekte vom Typ T
aufzunehmen.
Der Speicher wird jedoch nicht initialisiert.
n | Anzahl der aufzunehmenden Elemente |
Rückgabewert: Paar mit dem Zeiger auf den Speicherbereich
und der Kapazität in Einheiten von sizeof(T)
oder ein Paar aus Nullwerten, wenn kein Speicher bereitgestellt werden kann.
#include <memory> #include <include> int main() { std::pair<int*, ptr_diff_t> puffer = std::get_temporary_buffer<int>(200); if (puffer.first) { std::cout << puffer.second << " Werte speicherbar\n"; // ... std::return_temporary_buffer(puffer.first); } else { std::cerr << "Nicht genug Speicher\n"; } return 0; }