在 C++ 类中,为什么在右大括号后面加上分号?我经常忘记它并得到编译器错误,因此浪费了时间。对我来说似乎有些多余,这不太可能。人们真的会做这样的事情吗:
class MyClass
{
.
.
.
} MyInstance;
我从结构和枚举的 C 兼容性的角度得到它,但由于类不是 C 语言的一部分,我猜想主要是为了保持相似声明结构之间的一致性。
我所寻找的更多的是与设计原理相关,而不是能够改变任何东西,尽管一个好的代码完成 IDE 可能会在编译之前捕获这一点。
原文由 SmacL 发布,翻译遵循 CC BY-SA 4.0 许可协议
语言要求类型声明中右大括号后的分号。从 C 的最早版本开始就是这样。
是的,人们确实做了你刚才放在那里的声明。它对于在方法内部创建作用域类型很有用。
在这种情况下,我认为很清楚为什么需要分号。至于为什么在头文件中声明的更一般情况下需要它,我不确定。我的 猜测 是它是历史性的,并且这样做是为了使编写编译器更容易。