将 Microsoft 特定的 _msize() 函数与 new [] 一起使用是否安全?

例子:

  int* i = new int[100];
  size_t s = _msize(i);
  cout << "Size of the array in bytes: " << s << endl;
  delete [] i;

MSDN 只描述了 malloc & Co 的用法。

我已经使用 Visual Studio 2010 测试了代码,它看起来可以工作!但我想知道是否有一些预期的问题或任何特殊情况?

最佳答案

如果有人为您的类型覆盖了 operator new,则可能会出现问题。

写起来也很简单

const size_t s = 100;
int* i = new int[s];

或者,如果你真的写 C++
std::vector<int>   i(100);

关于c++ - _msize 与 new[] 一起使用是否安全?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11687329/

10-11 22:42
查看更多