Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
给定这个数组声明和初始化:
std::array<bool, 20> invalid_params{};
我可以假设数组中的所有元素都将始终初始化为 false,还是明确地这样做更好?
它保证充满false值。
false
std::array是一个聚合,因此它没有用户定义的构造函数,因此值初始化它执行零初始化。
std::array
但是,如果您删除{}(将其转换为默认初始化),则元素将未初始化。
{}
文档说:“默认初始化可能会导致非 T 类的不确定值”。因此,您似乎不能假设它将被初始化。