相关疑难解决方法(0)

放置新的和删除

删除此处分配的所有内存的正确方法是什么?

  const char* charString = "Hello, World";
  void *mem = ::operator new(sizeof(Buffer) + strlen(charString) + 1);
  Buffer* buf = new(mem) Buffer(strlen(charString));

  delete (char*)buf;
Run Code Online (Sandbox Code Playgroud)

要么

  const char* charString = "Hello, World";
  void *mem = ::operator new(sizeof(Buffer) + strlen(charString) + 1);
  Buffer* buf = new(mem) Buffer(strlen(charString));

  delete buf;
Run Code Online (Sandbox Code Playgroud)

还是他们都一样?

c++ new-operator visual-c++ placement

47
推荐指数
3
解决办法
3万
查看次数

标签 统计

c++ ×1

new-operator ×1

placement ×1

visual-c++ ×1