除非你被迫使用C,否则你应该永不使用 malloc..总用new.如果您需要大量数据,只需执行以下操作:char *pBuffer = new char[1024];小心点,尽管这是不对的://This is incorrect - may delete only one element, may corrupt the heap, or worse...delete pBuffer;相反,在删除数据数组时应该这样做://This deletes all items in the arraydelete[] pBuffer;这个new关键字是C+实现它的方式,它将确保您的类型具有它的构造函数调用..这个new关键字也更多。类型安全鉴于malloc根本不安全。我认为唯一有益的方法是malloc如果你需要更改缓冲区的大小数据。这个new关键字没有类似的方法,例如realloc..这个realloc函数可以更有效地扩展内存块的大小。值得一提的是,你不能混为一谈。new/free和malloc/delete.注意:这个问题的一些答案是无效的。int* p_scalar = new int(5); // Does not create 5 elements, but initializes to 5int* p_array = new int[5]; // Creates 5 elements