◐ Shell
clean mode source ↗

std::get_temporary_buffer — cppreference.com

De cppreference.com

<metanoindex/>

<tbody> </tbody>

Déclaré dans l'en-tête

<memory>

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

Alloue de stockage suffisante pour stocker jusqu'à count objets adjacents de T type. Si la mémoire est insuffisante pour tous les objets count, alloue moins de count, si possible .

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.

Paramètres

count -

le nombre d'objets à allouer

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.

Retourne la valeur

Un std::pair contenant un pointeur vers le début de l'emplacement alloué et le nombre d'objets qui correspondent à la mémorisation qui a été effectivement attribué (peut être nul) .

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.

Exceptions

Exemple

[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);
}

Résultat :

Voir aussi

libère de stockage non initialisée

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.


(fonction générique) [edit]