std::polymorphic<T, Allocator>::get_allocator

来自cppreference.com
< cpp‎ | memory‎ | polymorphic
 
 
内存管理库
(仅用于阐述*)
分配器
未初始化内存算法
受约束的未初始化内存算法
内存资源
未初始化存储 (C++20 前)
(C++17 弃用)
(C++17 弃用)
垃圾收集器支持 (C++23 前)
(C++11)(C++23 前)
(C++11)(C++23 前)
(C++11)(C++23 前)
(C++11)(C++23 前)
(C++11)(C++23 前)
(C++11)(C++23 前)
 
 
constexpr void swap( polymorphic& other ) noexcept(/* 见下文 */);
(C++26 起)

other 交换内容。

在以下描述中,以 swap_allocators 指代 std::allocator_traits<Allocator>::propagate_on_container_swap::value

交换 *thisother 的状态:交换拥有的对象或无值状态。

  • 如果 swap_allocatorstrue,那么就会执行 using std::swap;
    swap(alloc , other.alloc );
  • 否则不会交换分配器。

如果满足以下任一条件,那么行为未定义:

  • swap_allocatorstrue,并且 Allocator 不满足可交换 (Swappable) 的要求。
  • swap_allocatorsfalse,并且 get_allocator() == other.get_allocator()false

目录

[编辑] 参数

other-要与之交换内容的 polymorphic 对象

[编辑] 异常

noexcept 说明:  
noexcept(std::allocator_traits<Allocator>::propagate_on_container_swap::value
             || std::allocator_traits<Allocator>::is_always_equal::value)

[编辑] 示例

[编辑] 参阅

特化 std::swap 算法
(函数模板) [编辑]