有无分号有什么不同

jzp12 2007-05-09 03:03:01
在类的声明文件文件中如果对一个成员函数实现了,那么大括号后有分号和无分号有什么不同,例如:
class A
{
public:
void virtual f()
{
printf("A");
}
void add()
{
printf("C");
};//主是这个分号?
};
经测试要不要都不影响结果
...全文
377 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
half_bucket 2007-05-12
  • 打赏
  • 举报
回复
刚刚测试一下,在通常的情况下没什么区别,只是多执行了一个空语句,但如果是判断条件的话就会导致出错,例如if语句,

if(a);
sub-statement;

这样的话,你的本意是去执行statement,但因为有了分号,就会去执行“;”这条空语句,而不在去执行statement语句,因此而导致错误。
czg516 2007-05-09
  • 打赏
  • 举报
回复
讨论这种问题和
天上的太阳会不会一样无聊.

带个;和不带;效果没有区别
eggqq007 2007-05-09
  • 打赏
  • 举报
回复
“;”在编译的时候就是说把“;”前面的语句传到语法分析程序,如果“;”前面什么都没有就会被忽略。
half_bucket 2007-05-09
  • 打赏
  • 举报
回复
C++规范的写法是什么样的呢?
jzp12 2007-05-09
  • 打赏
  • 举报
回复
to :SpanOver()
f() 没有错,我都写代码测试过的了

没有要你解析最后一个分号,

总结一句,有一我注释地地方的那个分号,就表示多执行了一条空语句:
NULL;
yoyo_alex_lw 2007-05-09
  • 打赏
  • 举报
回复
你看tm说得多准确啊! 多余的分号被忽略!
多余的,,,看好了。。。
healer_kx 2007-05-09
  • 打赏
  • 举报
回复
你看tm说得多准确啊! 多余的分号被忽略!
多余的,,,看好了。。。
amei_zhang83 2007-05-09
  • 打赏
  • 举报
回复
学习下!到底有没有用呢?
SpanOver 2007-05-09
  • 打赏
  • 举报
回复
有不同
C++ 中,最后一个分号是必须要有的,表示一个类类型定义的结束,不然编译时会出错;
第一个分号编译器视为一个空语句;
另外: 你所定义的虚函数f(),声明错误.
xlbdan 2007-05-09
  • 打赏
  • 举报
回复
没有用没有用
mLee79 2007-05-09
  • 打赏
  • 举报
回复
保存的时候有可能多占磁盘空间, 打印的时候有可能多耗墨, 鉴定完毕
taodm 2007-05-09
  • 打赏
  • 举报
回复
没不同。
C++标准特别规定了的,多余的分号会被忽略。
freshui 2007-05-09
  • 打赏
  • 举报
回复
有不同
有分号就是多了一个空语句
  • 打赏
  • 举报
回复
好像是没什么不同。。。。。。

65,187

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧