在C++中,new
操作符用于動態地分配內存
new
分配內存:int* numPtr = new int; // 分配一個整數大小的內存空間
int* numPtr = new int(42); // 分配一個整數大小的內存空間,并將其初始化為42
int* arr = new int[5]; // 分配一個包含5個整數的數組
new
為自定義類型分配內存:class MyClass {
public:
MyClass() { /* 構造函數實現 */ }
};
MyClass* obj = new MyClass(); // 使用new為MyClass類型分配內存,并調用構造函數進行初始化
int* numPtr = new (std::nothrow) int; // 使用nothrow分配內存,如果分配失敗,則返回nullptr
if (!numPtr) {
std::cout << "Memory allocation failed!"<< std::endl;
}
delete numPtr; // 釋放單個對象的內存
delete[] arr; // 釋放數組的內存
注意:在使用new
分配內存后,需要使用delete
(或delete[]
)來釋放內存,以避免內存泄漏。同時,不要忘記檢查new
操作符是否成功分配了內存。