大佬教程收集整理的这篇文章主要介绍了}之间的区别;在C中,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在一个项目上进行分配,在一些示例代码中,我找到了以}结尾的方法;而不是典型的(预期的)}
例如:
CircBuffer::CircBuffer() { cout<<"constructor called\n"; cout<<"Buffer has " << BufferSize << "elements\n"; for (int i = 0; i<= BufferSize -1; i++) { Buffer[i] = 0; } ReadIn = WriteIn = 0; setDelay(0); }; // <=== HERE
我找不到任何关于为什么要在网上完成的信息.
谢谢,刘易斯
CircBuffer::CircBuffer() { ... } // <- the `CircBuffer::CircBuffer` deFinition ends here ; // <- an empty declaration that declares nothing
即方法定义并没有真正以}结尾;从编译器的角度来看.它结束于},和;完全独立和独立地对待.
在C的原始版本和C 03中,空声明是非法的,但它在C 11中合法化.因此,上面引用的代码在C 98和C 03中无效,但在C 11中是合法的.但是,即使是C 98编译器也是如此经常支持空声明作为非标准扩展.
请注意,上述内容仅适用于类外函数定义(如示例所示).使用类内成员函数定义尾随;一直合法(和可选)
class C { C() { ... }; // <- ';' not required,but legal even in C++98 };
(在这种情况下,optional;实际上是成员定义的一部分,意味着定义确实以}结尾;并且不引入空声明.)
以上是大佬教程为你收集整理的}之间的区别;在C中全部内容,希望文章能够帮你解决}之间的区别;在C中所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。