首頁 > 後端開發 > C++ > 我什麼時候應該使用 C 中的'新”運算符?

我什麼時候應該使用 C 中的'新”運算符?

DDD
發布: 2024-11-30 10:51:11
原創
811 人瀏覽過

When Should I Use the

何時在 C 中使用「new」?

作為從 C#/Java 過渡的開發人員,理解 C 中的物件實例化可能會令人困惑。本文闡明了何時使用“new”運算符以及何時避免使用它。

使用「new」:確保物件長壽

當您想要一個物件持續存在,直到它被明確刪除。如果沒有“new”,物件一旦超出範圍就會被銷毀。考慮以下範例:

void foo() {
  Point p = Point(0,0); // p is destroyed here
}

for (...) {
  Point p = Point(0,0); // p is destroyed after each iteration
}
登入後複製

對陣列使用「new」

C 中的陣列是就地分配的(即在堆疊上)。但是,如果您需要建立一個在運行時確定大小的數組,則必須使用“new”來分配它。

void foo(int size) {
   Point* pointArray = new Point[size];
   ...
   delete [] pointArray;
}
登入後複製

就地分配(不使用「new」)

出於性能原因,就地分配更可取。對於類別中聲明的對象,它會自動發生。

class Foo {
  Point p; // p will be destroyed when Foo is
};
登入後複製

請記住,使用「new」分配和釋放物件比就地分配計算量更大。僅在必要時使用它,以避免不必要的開銷。

以上是我什麼時候應該使用 C 中的'新”運算符?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板