gpt4 book ai didi

c++ - 存储分配器 - 它是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:19:19 24 4
gpt4 key购买 nike

我知道 C 和 C++ 中的存储类(static、extern、auto、register,C++ 还添加了可变的和一些特定于编译器的类)但我不知道什么是存储分配器 是。我不认为它指的是可在 STL 上实现的内存分配器,简单来说它是什么?

最佳答案

它是 operator newoperator delete 后面的任何东西(不要与 new 运算符和 delete 运算符)。 operator new 从空闲存储中分配内存,operator delete 释放先前由 operator new 分配的内存,以便可能的重用。当代码执行 foo *ptr = new foo(new 运算符)时,编译器生成调用 operator new 的代码以获得正确的字节数存储,然后调用 foo 的构造函数。当代码执行delete ptr(delete 运算符)时,编译器调用foo 的析构函数,然后调用operator delete 来释放内存。

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

关于c++ - 存储分配器 - 它是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15115766/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com