c – 存储分配器 – 它是什么?

前端之家收集整理的这篇文章主要介绍了c – 存储分配器 – 它是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道C和C中的存储类(静态,外部,自动,寄存器,C也增加了可变性和一些特定于编译器的存储类),但我无法弄清楚存储分配器是什么.我不认为它是指在STL上可实现的内存分配器,简单来说是什么?

解决方法

它是operator new和operator delete背后的任何东西(不要与new运算符和delete运算符混淆). operator new从free store分配内存,operator delete释放先前由operator new分配的内存,以便重用.当代码执行foo * ptr = new foo(new operator)时,编译器会生成调用operator new的代码获取正确的存储字节数,然后调用foo的构造函数.当代码删除ptr(删除操作符)时,编译器调用foo的析构函数,然后调用operator delete来释放内存.

请注意,这是C 03标准中使用该术语的方式.在C 11标准中,它也用于指代标准分配器.

猜你在找的C&C++相关文章