在C++代码中使用C风格的注释是不好的做法?

Pou*_*uya 3 c++ comments coding-style

在阅读这个维基百科文章,我遇到了这样的说法:

许多程序员避免使用C风格的注释,而是使用C++风格的单行注释.

它是否正确?如果是这样,为什么呢?这只是一种习惯还是有一些技术和理性的原因?


上述文章的例子:

/**
 * <A short one line description>
 *
 * <Longer description>
 * <May span multiple lines or paragraphs as needed>
 *
 * @param  Description of method's or function's input parameter
 * @param  ...
 * @return Description of the return value
 */
Run Code Online (Sandbox Code Playgroud)

/// <A short one line description>
///
/// <Longer description>
/// <May span multiple lines or paragraphs as needed>
///
/// @param  Description of method's or function's input parameter
/// @param  ...
/// @return Description of the return value
Run Code Online (Sandbox Code Playgroud)

小智 11

C风格的注释/* */ 不能以递归方式嵌套.堆叠多个单行注释,就像这个'//////',不是问题.这样,您可以逐步注释掉部分代码.例如,Visual Studio支持此功能,以此方式增加/减少注释级别的数量.

支持'/**/' - 样式注释的一个原因是在滚动代码时使特殊类型的注释突出,例如方法文档.这也为代码创建了一个很好的视觉结构.

'/**/'注释的另一个用例是内联注释,它们具有双方代码,例如void myfunc(double size /* = 0 */) { ... }在cpp文件中显示默认值.

结合两种好处的可能方法是:

  • 在方法中使用'//'(你要反复注释/注释)和
  • 例如,仅对cpp中的doxygen文档等特殊类型的注释使用'/**/'.

  • 这是IDE或文本编辑器在自动插入注释时使用单行注释的一个很好的理由.但是,避免自己使用它们并不是一个很好的理由,除非你的工具太差,你必须自己评论,在这种情况下,你有更严重的生产力问题需要解决:-) (2认同)

Vla*_*cow 5

现在既没有C风格的注释也没有C++风格的注释,因为C和C++都支持这两种注释.所以在一行的最后,最好使用//注释,而长条注释更可读/*..*/评论被使用.

至于我,我通常更喜欢使用/*..*/comments来概括我在函数定义或声明之前放置的函数.如果我需要在一些代码片段中的某些语句中添加注释,只需插入一行注释即可使用// coments.