std::get_temporary_buffer
提供: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. |
| Defined in header <memory>
|
||
| template< class T > std::pair< T*, std::ptrdiff_t > get_temporary_buffer( std::ptrdiff_t count ) |
||
タイプ
countのT隣接するオブジェクトを格納するのに十分な記憶域が割り当てられます。すべてcountオブジェクト、count未満割り当て、可能であれば...のためのメモリが不足している場合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.
目次 |
[編集] パラメータ
| count | - | 割り当てるためにオブジェクトの数
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. |
[編集] 値を返します
割り当てられた記憶と実際に割り当てられたストレージに収まるオブジェクトの数の先頭へのポインタを保持std::pairは(ゼロであるかもしれません).
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.
[編集] 例外
[編集] 例
#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 ...
[編集] も参照してください
| 初期化されていないメモリを解放する 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. (関数テンプレート) | |