【发布时间】:2010-10-21 14:30:06
【问题描述】:
在 C++ 类中,为什么要在右大括号后面加上分号?我经常忘记它并得到编译器错误,因此浪费了时间。对我来说似乎有些多余,这不太可能。人们真的会做这样的事情吗:
class MyClass
{
.
.
.
} MyInstance;
我从结构和枚举的 C 兼容性的角度得到它,但由于类不是 C 语言的一部分,我猜它主要是为了保持相似声明构造之间的一致性。
我所寻找的更多是与设计原理相关,而不是能够改变任何东西,尽管一个好的代码完成 IDE 可能会在编译之前捕获这一点。
【问题讨论】:
-
这可能会有所帮助:cpptalk.net/…
-
@Michael,感谢您的链接。从历史的角度来看,这很有意义,如果 C++ 允许所有 C 语法,并且 C++ 类与结构同义,那么我们在类的末尾留下了必要的分号。
-
@Brian,是的,严肃的问题。我很清楚我必须忍受它,但我对设计和实施背后的基本原理感到好奇。
-
好的,但您也许应该编辑您的问题以包含您想要的设计原理。事实上,它鼓励人们提出诸如“为什么要使用花括号”之类的问题? :) 您可能有兴趣阅读 Stroustrup 的 Design & Evolution of C++,尽管它比课程末尾的分号更重要。
-
@Brian,很公平,关于是否将其 wiki 上的界限。在大型构建中经常使用的标题中省略了分号后提出了这个问题。我花了半个小时,因此参观了SO。根据您的建议编辑问题。
标签: c++ class oop declaration