最終更新日時:
が更新

履歴 編集

function
<memory>

std::allocator_traits::allocate(C++11)

static pointer allocate(Alloc& a, size_type n);   // (1)
static pointer allocate(Alloc& a, size_type n,
                        const_void_pointer hint); // (2)

概要

メモリを確保する。

戻り値

  • (1) : a.allocate(n)
  • (2) : a.allocate(n, hint)という式が有効であればそれを呼び出し、そうでなければa.allocate(n)を呼び出す。

#include <memory>

int main()
{
  std::allocator<int> alloc;
  using traits = std::allocator_traits<decltype(alloc)>;

  // 10要素のint領域を確保する
  std::size_t n = 10;
  int* p = traits::allocate(alloc, n);

  // 確保したメモリを解放する
  traits::deallocate(alloc, p, n);
}

出力

バージョン

言語

  • C++11

処理系