std::pmr::polymorphic_allocator<T>::allocate
提供: cppreference.com
< cpp | memory | polymorphic allocator
T* allocate(std::size_t n ); | (C++17以上) (C++20未満) | |
[[nodiscard]] T* allocate(std::size_t n ); | (C++20以上) | |
ベースとなるメモリリソースを使用して T
型のオブジェクト n
個のための記憶域を確保します。 return static_cast<T*>(resource()->allocate(n * sizeof(T), alignof(T)));
と同等です。
目次 |
[編集]引数
n | - | 何個のオブジェクトのために記憶域を確保するか |
[編集]戻り値
確保された記憶域を指すポインタ。
[編集]例外
n > SIZE_MAX / sizeof(T)
の場合は std::length_error を投げます。 resource()->allocate の呼び出しによって投げられるあらゆる例外も投げる可能性があります。
[編集]関連項目
(C++20) | ベースとなるリソースからアラインされた生メモリを確保します (パブリックメンバ関数) |
(C++20) | オブジェクトまたは配列に適した生メモリを確保します (パブリックメンバ関数) |
(C++20) | オブジェクトを確保および構築します (パブリックメンバ関数) |
[静的] | アロケータを使用して未初期化記憶域を確保します ( std::allocator_traits<Alloc> のパブリック静的メンバ関数) |
メモリを確保します ( std::pmr::memory_resource のパブリックメンバ関数) |