关于C++语法的基本问题.
应该以c ++函数结束; 或者没关系?
或者这两个例子有什么区别?
结束;
void Test :: print()
{
...
};
Run Code Online (Sandbox Code Playgroud)
没有;
void Test :: print()
{
...
}
Run Code Online (Sandbox Code Playgroud)
我已经看过C++代码有和没有,但我没有得到区别.
/谢谢
更新:
在这种情况下; 应该避免,因为它没有做任何有用的事情,甚至可能在将来成为一个问题.
CB *_*ley 11
在类主体之外(其中函数定义可以可选地后跟单个;
),函数定义在复合语句的结尾处终止- 即结束}
.在命名空间范围内,函数定义的右括号后面的下一个标记必须构成下一个声明的一部分.
在C++ 03中,没有空声明这样的东西,所以放置a ;
是非法的,尽管许多实现已经接受了.(虽然C++ 03 简单声明的语法似乎允许缺少decl-specifier-seq和缺少init-declarator-list,只留下a ;
,但是有一个语义规则禁止两个可选部分被省略表示在标准的7 [dcl.dcl]/3中.)
在一个简单声明中,只有在声明一个类(第9节)或枚举(7.2)时,也就是说,当decl-specifier-seq包含一个类说明符时,可以省略可选的init-declarator-list,详细说明-type-specifier,带有类键(9.1)或枚举说明符.
C++ 0x引入了一个空声明(这是一个没有效果的声明),所以你可以;
在命名空间范围内拥有尽可能多的流氓,尽管没有充分的理由这样做.
归档时间: |
|
查看次数: |
608 次 |
最近记录: |