如何就地扩展分配的内存

Wei*_*ieh 3 c c++ memory-management c++11

std::realloc如果它无法扩展现有内存,是否有类似但什么都不做的事情(当然它会让你知道它失败了)?

我的意思是真正扩展到位。不复制到新创建的内存块。

n. *_* m. 5

与其他答案所说的相反,您需要的功能可以由 C 标准库提供。这不是出于某种原因。

它被认为是对 C 标准的补充,例如参见http://www.open-std.org/JTC1/SC22/wg14/www/docs/n1527.pdf(搜索 try_realloc)。我不知道 C 委员会是否还在追求这个。

最重要的是,目前还没有这样的功能。