我应该为memcpy和realloc包含什么标题?

AP.*_*AP. 33 c++ header objective-c memcpy realloc

我正在将一个项目移植到iPhone上,它使用的realloc并且memcpy没有找到.要包含的标题是什么?

这是一个混合Objective C和C++的项目,我开始迷失方向.

在此先感谢您的帮助!

GMa*_*ckG 49

在C:

#include <string.h> // memcpy
#include <stdlib.h> //realloc
Run Code Online (Sandbox Code Playgroud)

在C++中,删除.h和前缀为c.在C++中,它们将被放置在std命名空间中,但也是全局的.


Tyl*_*nry 8

在C++中,使用它std::copy比C 更惯用memcpy,尽管后者确实可以正常工作.要获得std::copy,你需要#include <algorithm>.

但是,没有直接的C++等价物realloc.

  • 我没有说在C++中不可能使用C标准库函数`realloc`(当然,因为C++标准库包含整个C89标准库).我说没有一个新的C++标准库函数包含`redoc`作为`std :: copy`为`memcpy`做的功能.虽然我认为如果我的答案是孤立地阅读而不是与另一个已经接受的答案相结合,我的意图并不明显. (5认同)
  • 如果我可以将此答案标记为对评论无效,我会这样做是因为它不正确.正如GMan所说,realloc存在于<cstdlib>中. (2认同)