C++代码注释详解

常用注释语法

  • 注释写在对应的函数或变量前面。JavaDoc类型的多行注释风格如下:
/**
* 这里为注释.
*/
  • 一般注释中有简要注释和详细注释,简要注释有多种标识方式,这里推荐使用@brief命令强制说明,例如:
    
/**
* @brief 这里为简要注释.
*
* 这里为详细注释.
*/
  • @brief之后为简要注释,简要注释结束的标志是一个点号,或一个空行。简要注释之后的注释为详细注释,因此也可以写成:其中\n为换行符。
/**
* @brief 简要注释. 详细注释. \n
* 这里仍然为详细注释.
*/
  • 下面对几种注释类型进行描述。

文件头注释

  • 一般@file后为空,Doxygen会默认为是@file所在文件的文件名。[]表示可选,{}表示重复0到N次,<>表示必须参数,@author表示作者,@data表示日期,@version表示版本号。
/** 
* @file [file-name]
* @brief brief description for the file.
* @author <list of authors>
* {@author <list of authors>}
* [@author <authors description>]
* @date <date>
* @version <version number>
*
* detailed description for the file.
*/

类注释

  • header-file是类声明所在的头文件名字,header-name是要显示的链接文字,一般为头文件的真实路径。
/**
* @class <class-name> [header-file] [header-name]
* @brief brief description for the class.
*
* detailed description for the class.
*/

函数注释

/**
* @brief brief description.
* {@param <parameter-name> <parameter description>}
* @exception <exception-object> <exception description>
* {@exception <exception-object> <exception description>}
* @return <description of the return value>
* {@return <description of the return value>}
* @note <text>
* @remarks <remark text>
* {@remarks <remark text>}
* [@deprecated <description>]
* [@since when(time or version)]
* [@see references{,references}]
*/
@param参数名及其解释(param后加[in]表示输入参数,param后加[out]表示输出参数)
@exception用来说明异常类及抛出条件
@return  对函数返回值做解释
@note  表示注解,暴露给源码阅读者的文档
@remark 表示评论,暴露给客户程序员的文档
@since表示从那个版本起开始有了这个函数
@deprecated引起不推荐使用的警告
@see 表示交叉参考

 成员注释

  • /**<用来注释成员,放在成员后面,格式如下:
int var; /**< Detailed description after the member */
  • 此语法对成员函数也适用。对于枚举类型也可采用这种注释,如下:
/** @brief Another enum, with inline docs */
enum AnotherEnum
{
    V1,   /**< value 1 */
    V2    /**< value 2 */
};

项目符号标记注释

 /**
* A list of events:
* - mouse events
* -# mouse move event
* -# mouse click event\n
*/
结果为:

A list of events:

。mouse events
  mouse move event
  mouse click event

分组注释

  • 对于某几个功能类似的代码项(比如类、函数、变量)等,如果希望一起添加注释,而又不想提升到模块的概念,可以通过下面的方式:
/**
* @name 组名 组的说明文字
* @brief 组的简要注释.
* 
* 组的详细注释.
* @{
*/
  • 组内的代码;
  • 在一页内分组显示。其中组名组名的命名符合c++命名规范。
/** @} */ //组结尾

 模块注释

  • 进行设计时,通常有模块的概念,一个模块可能有多个类或者函数组成,完成某个特定功能的代码的集合。生成的模块的注释会单独放在一个模块的页面中。使用下面的格式定义一个模块:
/**
* @defgroup 模块名 模块的说明文字
* @brief模块的简要注释.
*
* 模块的详细注释.
* @{
*/

代码;

/** @} */ // 模块结尾
  • 其中模块名Module-Name的命名符合c++命名规范。
  • 任何其他代码项(比如类、函数、甚至文件)如果要加入到某个模块,使用ingroup命令即可。模块之间使用ingroup命令,可以组成树状关系。例如要把文件util.cpp加入到模块module_A中,格式如下:
/** 
* @file util.cpp 
* @ingroup module_A
* @brief brief description of the module.
*
* detailed description of the module.
* @
*/
  • 同样,对于类和命名空间都可以加入到某模块中,所不同的是把@file util.cpp换成对应的@class class-name和@namespace namespace-name。
  • 把多个代码项一起添加到某个模块中可以使用addtogroup命令,格式和defgroup类似,如下:
/**
* @addtogroup模块名
* @{
*/

 

 

 

  • 12
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用和提供了关于代码书写规范的信息,其中包括函数的简介、参数、返回类型说明、可能抛出的异常、作者、时间和版本信息。而引用中提供了一个写寄存器的接口函数。 根据提供的引用内容,可以看出这是一段代码注释,用于描述函数的作用、参数、返回值等信息。具体来说,@brief表示函数的简介,@param表示函数的参数,@return表示函数的返回类型说明,@exception表示可能抛出的异常,@author表示作者,@date表示时间,@version表示版本。代码注释中的信息可以帮助其他人理解和使用这段代码。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [常见编程软件注释 @brief @param @return](https://blog.csdn.net/qq_40305944/article/details/115270662)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [C++ 等的常见软件注释 @brief @param @return](https://blog.csdn.net/qq_39938666/article/details/108783730)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [STM32F407VET6硬件I2C实现读取,写MPU6050传感器数据(CUBEIDE工程)](https://download.csdn.net/download/weixin_52849254/87886714)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值