C++ 检查数组是否使用 'new' 创建

标签 c++ memory

在 C++ 中,delete[] 应该与 new 创建的数组一起使用。您可以像这样将数组传递给函数:void method_with_array(int* array)。您如何判断以这种方式创建的数组是否是使用 new 创建的,以便您可以正确删除它。

最佳答案

你不能,所以最好不要传递指向用 new 创建的东西的指针或 new[] .使用例如 std::vector或者如果你真的真的真的需要一个动态分配的数组,std::unique_ptr<T[]> .

关于C++ 检查数组是否使用 'new' 创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46594910/

相关文章:

c++ - 在 C++ 中设置 var 的语法

c++ - 对于 OpenCV/C++,无法将 Mat 写入 JPG 或 BMP 以外的任何其他图像格式

c++ - Qt 5.5 - 触控/多点触控不适用于 Ubuntu 14.04

c - 父进程和子进程的内存映射文件问题

c++ - 进程间内存编辑-查找更改的地址

c++ - 简化存储在类的 std::vector 成员中的 std::function 的使用

C++ std::atomic 与 Boost atomic

c++ - 结构中包含数组的结构数组

Perl:如何在不访问 Perl 变量的情况下释放为标量分配的内存?

c# - 在 C# 中分配此关键字