C ++注释在C中被认为是不好的风格吗?

时间:2010-08-29 12:44:08

标签: c coding-style comments

我正在与一些学生讨论C编程风格,当我们谈论评论时,其中一人注意到他没有在C代码中使用C ++注释,因为它们是个坏主意。事实证明,这是基于个人经验的多行C ++评论,但这不是我第一次听到这种说法。那么,//被认为是有害的,如果是,那么为什么呢?

7 个答案:

答案 0 :(得分:24)

这取决于您使用的是哪个版本的C. C 99允许//作为注释,而C 89则不允许。

如果您希望尽可能向后兼容,请不要使用它们。但是,我认为这是一个极端的边缘情况。我愿意打赌几乎所有人都使用C 99。

编辑:任何最新版本的GCC都使用大部分C99。您可以在Wikipedia中找到更多信息。

答案 1 :(得分:11)

如果您在C中使用C ++注释,则某些C编译器可能不会接受您的代码。我认为这有害。

答案 2 :(得分:9)

根据MISRA-C 2004标准,不允许使用C ++注释。某些行业(特别是汽车行业)认可符合MISRA标准的代码,因此不允许使用C ++注释。我相信其他静态代码检查工具也是如此,例如LDRA等......

这并不会使它们本身就变坏,但它确实意味着如果你进入某些行业并希望以专业的方式工作,你将会积极地不鼓励使用C ++风格的评论。

答案 3 :(得分:5)

使用(尚未广泛支持的) C99 标准将C ++风格的评论添加到C中。虽然标准本身并未得到广泛支持,但它的某些部分(如C ++样式注释)现在几乎在每个编译器中都受支持。考虑到它们被添加,这意味着需要它们,因此很容易弄清楚它不会被认为是不好的风格 - 特别是如果你自己设定了使用哪个指南。

只有你不想使用它们的理由是你想写一个结构良好的C89编纂程序。

答案 4 :(得分:2)

人们使用//代替/* */的一个常见原因是,您可以“嵌套”前者而不是后者,因此您可以注释掉包含注释的代码。但你真的应该使用#if 0来评论C中的代码。

答案 5 :(得分:1)

这些日子真的不应该引起任何关注,除非你维护代码专门用于编译古代编译器等。

答案 6 :(得分:0)

在C99中支持

“//”,但在C89(这是迄今为止最受支持的方言)中,它不受支持。