`auto *x = new some_struct{};` 是一个未初始化的变量吗?

How is `auto *x = new some_struct{};` an uninitialized variable?

最近,我决定试用 CodeInspector。

在我的代码中,我写了以下内容:

auto *v4Addr = new sockaddr_in{};

代码检查器已将此行(以及其他一些类似的行)标记为 Violation | Critical/security | Uninitialized variable: v4Addr

据我了解,new some_struct{} 将结构初始化为 0。有什么我想念的吗?我应该使用 new some_struct() 还是其他东西?

不是。

CodeInspector 错误。

您应该向其作者报告错误。