」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > std::array 可以預設初始化嗎?

std::array 可以預設初始化嗎?

發佈於2024-12-21
瀏覽:674

Can std::array be Default-Initialized?

std::array 可以預設初始化嗎?

透過將變數宣告為 std::array x; ,你可以保證它的所有元素都會被預設初始化。根據 C 11 語言標準 (§8.5/11),任何沒有明確初始化程序的物件都是預設初始化的。

但是,您應該知道預設初始化對非類別、非類別沒有影響。數組類型 (§8.5/6),使其值不確定。例如,此類類型的預設初始化數組將具有不確定的值。

陣列的值初始化

如果您希望將所有陣列元素初始化為特定值value T{},這不是預設初始化而是值初始化(8.5/7 )。您可以在 C 11 中使用空初始化器輕鬆地對陣列進行值初始化:

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

這將對所有陣列元素進行值初始化,從而使整數值一致為 0,並為其各自的資料類型提供預設值。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3