std::allocator_traits<Alloc>::max_size
自 C++20 起
static constexpr size_type max_size( const Alloc& a ) noexcept;
从 C++11 起,直到 C++20
static size_type max_size( const Alloc& a ) noexcept;
如果可能,通过调用 a.max_size()
从分配器 a
获取理论上可能的最大分配大小。
如果上述操作不可能(例如,Alloc 没有 max_size() 成员函数),则返回 std::numeric_limits<size_type>::max() / sizeof(value_type)
。
参数
a
- 要检测的分配器
返回值
理论最大分配大小。
缺陷报告
以下改变行为的缺陷报告已追溯应用于先前发布的 C++ 标准。
DR | 应用于 | 发布时的行为 | 正确行为 |
---|---|---|---|
LWG 2162 | C++11 | max_size 不要求是 noexcept | required |
LWG 2466 | C++11 | 作为备选返回了以字节为单位的理论最大分配大小 | 返回以元素为单位的大小 |