◐ Shell
clean mode source ↗

std::get_temporary_buffer - cppreference.com

Da cppreference.com.

Questa pagina è stata tradotta in modo automatico dalla versione in ineglese della wiki usando Google Translate.

La traduzione potrebbe contenere errori e termini strani. Muovi il puntatore sopra al testo per vedere la versione originale. Puoi aiutarci a correggere gli gli errori. Per ulteriori istruzioni clicca qui.

Click here for the English version of this page

<metanoindex/>

<tbody> </tbody>

Elemento definito nell'header

<memory>

template< class T > std::pair< T*, std::ptrdiff_t > get_temporary_buffer( std::ptrdiff_t count )

Alloca memoria sufficiente per memorizzare fino a count oggetti adiacenti di T tipo. Se la memoria è insufficiente per tutti gli oggetti, count alloca meno count, se possibile.

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.

Parametri

count -

il numero di oggetti da allocare

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.

Valore di ritorno

Un std::pair tiene un puntatore all'inizio della memorizzazione, sia il numero di oggetti che si adattano in stoccaggio che è stato effettivamente assegnato (può essere 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.

Eccezioni

Esempio

[edit]

#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:

Vedi anche

libera di memorizzazione non inizializzato

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.


(funzione di modello) [modifica]