c++ - 将 _msize 与 new[] 一起使用安全吗?

标签 c++ c visual-studio-2010 visual-c++ mfc

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

例子:

  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/

相关文章:

c++ - QTreeView 与 QFileSystemModel : How can I remove all columns except "Name"?

c++ - 为 ARM Cortex A9 生成 AOT Halide 目标文件

c++ - 为什么程序不返回 YYText() 或 YYLeng()?

c - 计算所选单词的字符数的程序

c++ - Visual Studio C++ 将 CSV 文件中的数据输入变量数组

c++ - 从空整数到逗号列表中的指针的转换

python - 验证体积/3D 空间中的点

c++ - 通过摄像头进行人脸检测

c# - 极其基本的除法方程式在 C# 中不起作用

c++ - 无法在 Visual Studio 2010 中创建 C++ 项目