【发布时间】:2015-03-09 11:32:37
【问题描述】:
声明没有 C++ 等效的 C realloc 函数,我在另一个问题中发现这样的事情是由 std::vector 自动管理的,我们应该使用它。
我很好。我想,由于没有其他方法可以重新分配,std::vector 只会为我调用realloc。
但是,问题是:如果我重写 new 和 delete 运算符来管理全局跟踪内存使用情况,则在有人调用旧 C 函数的情况下不会调用它们 (malloc, calloc, realloc, free)。
怎么做? std::vector 替换 realloc 是否正确?
【问题讨论】:
-
如果您使用的是 C++,则不应针对有人错误地将您的代码与 C 函数一起使用的情况进行设计。
-
问题是另一个:那个人是标准库本身吗?如果是这样,我该如何解决?