c++ - 删除指针的部分内存

标签 c++ new-operator realloc

有什么方法可以删除指针的部分内存。? 例如

char *c = new char[1000];
sprintf(c,"this is it");

可以看出,这里浪费了很多内存。我可以释放比要求更多的内存吗?

最佳答案

不直接。在 C++ 中,您可以做的最好的事情就是制作一个大小合适的新拷贝并删除旧拷贝。没有 C 的 realloc 的模拟。

关于c++ - 删除指针的部分内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12023215/

相关文章:

c++ - 在C中什么情况下函数realloc会返回Null?

C++ 运行时错误

c++ - 为什么二维动态数组有初始值?

java - 为什么不把 'new'的结果存到变量里就可以了

c++ - 指针和双向链表

计算 malloc() 和 realloc() 大小的正确方法?

模板和非模板类的C++符号范围搜索顺序不同?

c++ - 打开要在 C++ 中读取的文件,文件名字符串问题

c++ - 从抽象类向下转换为正确模板的最佳方法

c - 如何在 C 函数中返回 `realloc` 数组