C new關鍵字用法

2021-10-03 14:09:04 字數 390 閱讀 2652

c++中的new用法總結:

1.new operator:

這是最常見的用法,如:

class a

a *a = new a;

2.placement new:

這個new僅在乙個已經分配好的記憶體指標上呼叫建構函式,因此會覆蓋原來的內容,如:

a *a1 = new a;

a *a2 = new(a1) a;

那麼a2會覆蓋a1的值,那麼a1和a2的內容都是一模一樣的。

3.operator new:

這個是運算子過載,常常用作申請內容,如:

class a

void operator delete(void* p)

}與之相對應的,也可將delete運算子過載。

C new關鍵字小結

在 c 中,new 關鍵字可用作運算子或修飾符。new 運算子用於在堆上建立物件和呼叫建構函式。new 修飾符用於隱藏基類成員的繼承成員。new 運算子1.用於建立物件和呼叫建構函式 例 class test myclass new class test 2.也用於為值型別呼叫預設的建構函式 例 i...

C new關鍵字丟擲bad alloc

c new 關鍵字底層呼叫了malloc來分配記憶體,但是會出現申請記憶體失敗的情況。當new 申請記憶體失敗時,會丟擲bad alloc異常,那麼針對這種情況,我們有兩種處理方式。當new獲取記憶體失敗時,丟擲bad alloc異常,我們可以捕獲異常,但是這種方法非常繁瑣,我們在程式中可能會大量用...

const關鍵字用法

1 const常量 如const int max 100 優點 const常量有資料型別,而巨集常量沒有資料型別。編譯器可以對前者進行型別安全檢查,而對後者只進行字元替換,沒有型別安全檢查,並且在字元替換時可能會產生意料不到的錯誤 邊際效應 2 const修飾類的資料成員 class a const...