首頁 > 後端開發 > C++ > C 11 中如何處理「std::array」的預設初始化?

C 11 中如何處理「std::array」的預設初始化?

Susan Sarandon
發布: 2024-10-30 22:14:30
原創
315 人瀏覽過

How is Default Initialization Handled for  `std::array` in C  11?

C 11 的std::array 的預設初始化

未指定明確初始化程序時執行的預設初始化由C 語言標準保證,適用於所有沒有顯式初始化程序,包括std::array 的實例和T[N] (§8.5/11)。

但是,需要注意的是,預設初始化對非類別、非陣列型別沒有影響,導致它們的值不確定 (§8.5/6) 。例如,此類類型的預設初始化數組將具有不確定的值:

<code class="cpp">int plain_int;
int c_style_array[13];
std::array<int, 13> cxx_style_array;</code>
登入後複製

要將所有元素明確初始化為T{},請使用值初始化(8.5/7):

<code class="cpp">int plain_int{};
int c_style_array[13]{};
std::array<int, 13> cxx_style_array{};</code>
登入後複製

以上是C 11 中如何處理「std::array」的預設初始化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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