我想知道 malloc
是如何分配内存的(你能告诉我吗?),所以我尝试了一些东西。
这是分配内存的糟糕方法吗?
void* myMalloc(unsigned int size) {
return (void*) new bool[size];
}
最佳答案
C++ 标准明确指出 C malloc
和 free
函数不得调用 operator new
或 operator delete
(C++11 FDIS 中的 20.6.13/3 和 4)。这让我的脑海里闪烁着红光……
除此之外,您的方法转储所有类型安全 new
可以为您提供 malloc
所缺乏的。而且您的实现对于它的作用来说太慢了。
结论:是的,这是一种糟糕的内存分配方式。
关于c++ - 这种分配内存的方式不好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7679847/