最終更新日時(UTC):
が更新

履歴 編集

function
<memory_resource>

std::pmr::polymorphic_allocator::select_on_container_copy_construction(C++17)

polymorphic_allocator select_on_container_copy_construction() const;

概要

polymorphic_allocatorを利用しているクラスのコピー構築時に、新しいpolymorphic_allocatorオブジェクトを取得する。

戻り値

return polymorphic_allocator();

備考

すなわち、標準のpolymorphic_allocatorを利用しているクラス(主にコンテナ)のコピー構築時に、利用しているmemory_resourceがコピーされる(伝播する)事は無い。

#include <iostream>
#include <memory_resource>

int main()
{
  auto mr = std::pmr::monotonic_buffer_resource{};
  std::pmr::polymorphic_allocator<int> alloc{ &mr };

  auto alloc2 = alloc.select_on_container_copy_construction();

  std::cout << std::boolalpha;
  std::cout << (alloc == alloc2) << std::endl;
}

出力

false

バージョン

言語

  • C++17

処理系

関連項目

参照