c++ - 自定义内存分配-C v。C++

标签 c++ c memory-management dynamic-memory-allocation memory-fragmentation

我一直在学习C++,并且遇到了自定义内存分配器的主题。我知道,通过设计一个分配器并将此分配器与标准库容器一起使用,我们可以避免堆分配。同样,似乎我们可以避免内存碎片。这部分是通过使用placement new和placement delete运算符实现的。
在C语言中也可以设计自定义内存分配器,以便我们可以控制内存分配并避免碎片吗?如果有可能,C++是否会简单地以更高的抽象水平提供此功能?

最佳答案

C和C++都是低魔法语言。 C特别是在背后分配很少的内存。例如,它可以对vararg函数执行此操作,但是几乎每个常规数据结构都是由您(程序员)显式分配的。如果调用malloc,则使用默认堆。如果您 call 其他电话,则使用其他电话。

关于c++ - 自定义内存分配-C v。C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63296671/

相关文章:

c++ - 看完归并排序的理论,想写一个归并排序的实现,但是卡住了

c - 以下代码中是否存在临界区?

ios - 在出现内存警告后,如何重新加载 Storyboard 中内置的 uisearchDisplayController?

c++ - sleep boost::thread 无限期地从另一个线程唤醒?

c++ - 当客户端在虚拟机上运行时,getpeername() 返回我的本地主机地址

c - 对于 C 开发人员,Clang 版本 2.8 和 3.1 之间有什么实际区别?

c - 当 printf 是变量的地址时,为什么要使用 void*?

ios - 是否需要释放应用程序委托(delegate)?

python - 如何控制我的进程可用的可用内存(以防止出现 MemoryError)

c++ - 如何用文本文件中的另一个数字替换特定数字 (C++)