25、C++ 自定义内存分配器:从基础到实战

C++ 自定义内存分配器:从基础到实战

1. 可选函数介绍

除了属性之外,还有一些可选函数能为容器提供关于所使用分配器类型的额外信息。

  • max_size() 函数

    • 该函数原型为 size_type myallocator::max_size(); ,它会告知容器分配器能够分配的最大大小 “n”。
    • 在 C++17 中,此函数已被弃用。它返回分配器能够执行的最大可能分配大小,在 C++17 中默认值为 std::numeric_limits<size_type>::max() / sizeof(value_type) 。然而,在大多数情况下这并非有效答案,因为多数系统没有这么多可用的 RAM,所以该函数在实际应用中价值不大。若分配失败,会抛出 std::bad_alloc 异常,提示容器尝试的分配操作不可行。
  • construct 和 destroy 函数

    • 函数原型如下:
template<typename T, typename... Args>
static void myallocator::construct(T* ptr, Args&&... args);
template<
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值