勵志

勵志人生知識庫

new使用方法

`new` 關鍵字在C++中主要用於動態記憶體分配,其基本用法包括:

動態創建對象。使用 `new` 創建新對象的基本語法是 `Type* ptr = new Type(arguments);`。這會在堆上分配記憶體空間,並用提供的參數初始化對象,然後返回對象地址。

分配數組空間。`new` 也可以用來分配數組空間,例如 `Type* arr = new Type[arraySize];`。這會在堆上分配指定大小的連續記憶體空間,並返回指向首元素的指針。

定位 `new`。定位 `new` 用於在已分配的記憶體上構造對象,例如 `new(allocatedMemory) Type(arguments);`。這允許在同一塊記憶體上反覆構造不同類型的對象或數組。

異常處理。普通 `new` 在記憶體分配失敗時會拋出 `std::bad_alloc` 異常。而 `nothrow new` 形式在分配失敗時返回 `nullptr` 而不拋出異常。

隱藏繼承的成員。在類繼承中,使用 `new` 關鍵字可以顯式隱藏從基類繼承的成員,以避免編譯器警告。

此外,與 `new` 相對應的 `delete` 操作符用於釋放動態分配的記憶體。例如,`delete ptr;` 或 `delete[] arr;` 用於釋放單個對象或數組所占用的記憶體。