c++ - 这种分配内存的方式不好吗?

标签 c++ memory-management

我想知道 malloc 是如何分配内存的(你能告诉我吗?),所以我尝试了一些东西。

这是分配内存的糟糕方法吗?

void* myMalloc(unsigned int size) {
    return (void*) new bool[size];
}

最佳答案

C++ 标准明确指出 C mallocfree 函数不得调用 operator newoperator delete(C++11 FDIS 中的 20.6.13/3 和 4)。这让我的脑海里闪烁着红光……

除此之外,您的方法转储所有类型安全 new 可以为您提供 malloc 所缺乏的。而且您的实现对于它的作用来说太慢了。

结论:是的,这是一种糟糕的内存分配方式。

关于c++ - 这种分配内存的方式不好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7679847/

相关文章:

c++ - 友元函数访问静态库中定义的类的私有(private)成员

c++ - 如何随着时间的推移在OpenGL中平移和旋转三角形?

c++ - 在 C++ 类型转换期间自动舍入 a

c++ - 将 unique_ptr<std::vector> 与 C 风格数组结合使用

c++ - 向cpp中的函数发送参数

具有数据结构(字典、列表等)的 C# .NET 内存管理

iOS 崩溃 - 没有泄漏,NSZombie 已启用并且不会因异常而中断

c++ - delete this + memmove(this,new A(),sizeof(A)) 安全吗?这是一个坏主意吗?

python - 当作为参数传递时,如何跨多个自定义函数处理 Pandas DataFrame?

.NET 字符串与流 - 内存配置文件和特征