将 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/