C++ new和delete的用法
new和 delete是C++中用于动态分配和释放内存的运算符。它们的用法如下:
-
使用
new运算符分配内存:// 分配一个整数的内存空间 int* ptr = new int; // 分配一个整数数组的内存空间(指定数组大小) int* arr = new int[10];new运算符用于在堆上动态分配内存空间,并返回指向该内存的指针。可以用于分配单个对象或数组。 -
使用
delete运算符释放内存:// 释放单个对象的内存 delete ptr; // 释放数组的内存 delete[] arr;delete运算符用于释放之前使用new分配的内存。请注意,如果使用new[]分配了数组,必须使用delete[]来释放,否则会导致未定义行为。
需要注意的是,使用 new和 delete分配和释放内存时,程序员负责管理内存的分配和释放,这可能导致内存泄漏或释放已释放内存的问题。因此,C++引入了智能指针(如 std::shared_ptr和 std::unique_ptr)以更安全和自动化地管理内存。
浙公网安备 33010602011771号