clang tidy pro类型成员init resharper

时间:2018-04-17 16:22:58

标签: c++ clang-tidy

我有一些解析json的代码如下:

  QJsonParseError errors;
  auto doc = QJsonDocument::fromJson(myJson.toUtf8(), &errors);

Resharper的clang整洁建议标记QJsonParseError错误是'未初始化的记录类型'

建议的修复方法是通过{}为C ++ 11初始化变量。 resharper提供的autofix放入一些括号,如:QJsonParseError errors {};

这实际意味着什么/做什么?

1 个答案:

答案 0 :(得分:1)

零初始化保证类/结构的成员初始化为零。例如 -

struct student
{
    int idNo;
    char name[20];
};

因此,如果student的对象为零初始化,则保证成员变量idNo, name的值用零初始化(即idNo = 0并且name数组填充了零。)

在您的情况下,QJsonParseError成员初始化为零,而不是在对象初始化期间填充一些随机值。