首頁  >  文章  >  後端開發  >  預設初始化如何與 C 11 中的 `std::array` 一起工作?

預設初始化如何與 C 11 中的 `std::array` 一起工作?

Patricia Arquette
Patricia Arquette原創
2024-11-01 06:13:31334瀏覽

How Does Default Initialization Work with `std::array` in C  11?

std::array 中的預設初始化

預設初始化是在未提供明確初始化程序時發生的初始化。對於 C 11 std::array,語法 std::array x;保證數組的所有元素都會被預設初始化。

根據 C 11 標準 (§8.5/11),任何沒有明確初始化程序的物件都會被預設初始化。這包括 std::array 物件和傳統的 C 樣式陣列。值得注意的是,預設初始化對非類別、非陣列類型沒有影響,使其值不確定。

所有數組上的值初始化

雖然預設初始化留下非-類,非數組類型不確定,值初始化將元素設為其預設值。在C 11 中,透過為每個數組元素提供一個空的初始值設定項來實現值初始化:

int plain_int{};
int c_style_array[13]{};
std::array<int, 13> cxx_style_array{};

這將對數組的所有元素進行值初始化,從而導致plain_int 和所有數組元素都初始化為零。

以上是預設初始化如何與 C 11 中的 `std::array` 一起工作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn