【C++】优先使用{}替代()构造对象
优先使用 {} 的情况
默认构造空对象:Type obj{}; 避免 obj() 被误认为函数声明
初始化容器时想用元素列表:vector
防止意外的类型窄化:特别是在模板代码中,安全性更高
聚合体初始化:结构体、数组等
通用代码(模板)中:T{...} 比 T(...) 更统一,行为更可预测
优先使用 {} 的情况
默认构造空对象:Type obj{}; 避免 obj() 被误认为函数声明
初始化容器时想用元素列表:vector
防止意外的类型窄化:特别是在模板代码中,安全性更高
聚合体初始化:结构体、数组等
通用代码(模板)中:T{...} 比 T(...) 更统一,行为更可预测