C++ 中大括号后的分号
semicolon after curly braces in c++
本文关键字:C++ 更新时间:2023-10-16
我最近开始使用 vtk 包,我看到这种奇怪的表示法,它们在关闭大括号后包含;
}
.这是vtkUnstructuredGrid.h
的一个例子
// Description:
// Standard vtkDataSet API methods. See vtkDataSet for more information.
int GetDataObjectType() {return VTK_UNSTRUCTURED_GRID;};
这不是必需的,QtCreator 也会通过在解析代码时说出extra ;
来正确检测到这一点。我很好奇这可能是什么原因?也许可读性?
正如QtCreator正确检测到的那样,这绝对是一个额外的分号,不仅无用,而且还可能导致编译器警告和混乱。
例如,带有 -Wpedantic
标志的 GCC 将触发:
警告:额外的";"
这并不少见。在C++中,语句以 ;
结尾。所以声明是int GetDataObjectType();
.现在,这个语句是一个函数,它也定义了一个块:int GetDataObjectType() {};
块内部,我们还有另一个语句:return VTK_UNSTRUCTURED_GRID;
,所以整行可能有一个额外的分号,但它不是分号太多,它只是一个分号,你可以省略。
相关文章:
- 没有找到相关文章