簡體   English   中英

安全地初始化一個 std::array of bools

[英]Safely initializing a std::array of bools

給定這個數組聲明和初始化:

std::array<bool, 20> invalid_params{};

我可以假設數組中的所有元素都將始終初始化為 false,還是明確地這樣做更好?

保證填充false值。

std::array是一個聚合,因此它沒有用戶定義的構造函數,因此值初始化它執行 零初始化


但是,如果您刪除{} (將其轉換為默認初始化),則元素將未初始化。

文檔說:“默認初始化可能會導致非 T 類的不確定值”。 因此,您似乎不能假設它將被初始化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM