vs2017 标准库中,std::allocator 的实现如下:
template<class _Ty>
class allocator
{
//...
void deallocate(_Ty * const _Ptr, const size_t _Count)
{
// deallocate object at _Ptr
// no overflow check
本文探讨了Visual Studio 2017中标准库的内存管理,特别是关于标准分配器的实现。分配器的`allocate`和`deallocate`函数被详细分析,指出它们如何调用全局的`malloc`和`free`,并且指出这种实现存在内存管理上的效率问题,如cookie内存浪费,以及释放内存时需要指定对象数量而非字节数。
vs2017 标准库中,std::allocator 的实现如下:
template<class _Ty>
class allocator
{
//...
void deallocate(_Ty * const _Ptr, const size_t _Count)
{
// deallocate object at _Ptr
// no overflow check
2138
903
1573
426

被折叠的 条评论
为什么被折叠?