doxygen教程之注释风格

news2024/11/15 11:33:52

作者:朱金灿
来源:clever101的专栏

为什么大多数人学不会人工智能编程?>>> hot3.png

  doxygen是一个开源的C++接口文档生成工具。要使用doxygen生成接口文档,就必须遵循它的注释规范,下面对它的注释规范进行简单介绍。
1.JavaDoc风格注释:

/**
* your comment text.
*/

2.Qt风格:

/*!
* your comment text.
*/

3.仿c++风格:

///                               //!
/// your comment text.      或者: //! your comment text.
///                               //!

要使用哪种型态完全看自己的喜好。
  此外,由于Doxygen 对于批注是视为在解释后面的程序代码。也就是说,任何一个批注都是在说明其后的程序代码。如果要批注前面的程式码则需用下面格式的批注符号。

/*!< … 批注 … *//**< … 批注 … *///!< … 批注 …///< … 批注 …

  上面这个方式并不适用于任何地方,只能用在class 的member或是function的参数上。
一、文件注释,放于文件的开头:

/**
* @file           filename
* @brief        This is a brief description.
* @details     This is the detail description.
* @author    author
* @date        date
* @version    A001
* @par Copyright (c): 
*         XXX公司
* @par History:         
*    version: author, date, desc

*/

二、class的注释:

namespace MySPace
{   
class MyClass
   {      
 public:           
 int member1 ;          
 int member2:           
 void member_function();   
 };
}

加上批注后,就变成这样:

namespac MySPace{
/**     @class 
* @brief 我的测试类
   *
   *   用来处理什么的逻辑
   *  @author ycj
   *  @version 0.1
   *  @date    13.09.02 
   */
class MyClass
   {
public:          
int member1;     ///< 第一个member说明 …           
int member2;    ///< 第二个member说明 …          
int member_function(int a, int b);   };
}

using namespace MySPace;
/**    
* @brief 自定义类别的member_funtion说明…
* @param[in] int a 参数a的说明    
* @param[out] int b 参数b的说明  
* @return 传回a+b
*/ 
int MyClass::member_function( int a, int b )   
{      
return a+b ;   
}

三、数据结构注释,放于数据结构定义前:

/**
* The brief description.
* The detail description.
*/
typedef struct
{
   int var1;///<Description of the member variable
}XXXX;

四、宏定义注释,放于宏定义上方或者右侧:

/** Description of the macro */
#define XXXX_XXX_XX        0

或者:

#define XXXX_XXX_XX  0 ///< Description of the macro. 

五、全局和静态变量注释:

/**  Description of global variable  */
int g_xxx = 0;
static int s_xxx = 0;///<  Description of static variable 

六、枚举类型注释:

/// 界面语言版本
enum UILanguageType
{
    LANGUAGE_ENGLISH, ///< 英文
    LANGUAGE_CHINESE  ///< 中文
};

以上例子仅供参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/131248.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言基础--初识指针

文章目录一、初识指针二、指针和指针类型指针类型的意义1&#xff09;指针的解引用①问题抛出②探讨③总结2&#xff09;指针整数3&#xff09;总结4)举例三、野指针&#xff08;1&#xff09;概念1) 指针未初始化2)指针越界访问3&#xff09;指针指向的空间释放&#xff08;2&…

python类中常见内置方法

目录 一.几种常用的类内置方法 魔术方法 _ _str_ _字符串方法 _ _lt_ _小于符号比较方法 _ _le_ _小于等于比较符号方法 _ _eq_ _等于比较符号 一.几种常用的类内置方法 魔术方法 上文提到的_ _init_ _构造方法&#xff0c;是Python类内置的方法之一。 这些内置的类方法…

人工智能-聚类算法

1、聚类算法简介 典型的无监督算法&#xff0c;主要用于将相似的样本自动归到一个类别中。 根据样本之间的相似性&#xff0c;将样本划分到不同的类别中&#xff0c;对于不同的相似度计算方法&#xff0c;会得到不同的聚类结果。常用的相似度计算方法是欧式距离法 聚类算法与…

2022年总结 2023展望

前言 今天是2022年最后一天&#xff0c;姑且简单总结这一年。这一年从头到尾发生了很多翻天覆地的事件。回看去年2021年的年度总结还是有些遗憾&#xff0c;完成度4/7。 回顾 2021 年立下的 flag&#xff1a; 写文章30篇 没有完成&#xff0c;技术和知识是在有断断续续学习&a…

【Linux】多线程

目录 一、什么是线程 1、线程的基本认识 2、Linux线程与接口关系的认识 3、创建线程 4、线程等待 5、线程终止 6、线程分离 二、线程的优点 三、线程的缺点 四、线程与进程的关系 1、线程安全与重入 2、不可重入情况 3、可重入情况 4、可重入与线程安全的联系 五…

算法合集 —— 数组篇

算法 —— 数组 目录算法 —— 数组1.二分查找1.1二分查找习题集2.双指针法2.1双指针法习题集3.滑动窗口3.1滑动窗口习题集4.二维数组4.1二维数组习题集1.二分查找 二分查找适用于&#xff0c;在有序排列的数组中查找某一指定元素。 其原理为范围搜索&#xff1a;如果这个元素…

opencv-python常用函数解析及参数介绍(四)——图像阈值

图像阈值处理前言1.改变图像颜色灰度图HSV图2.图像阈值图像中数值对应的效果函数与参数阈值处理效果前言 在很多任务当中&#xff0c;首要的任务就是对图像进行阈值处理&#xff0c;为后续其他操作做准备&#xff0c;本文将介绍5种阈值处理的方法以及参数设置&#xff0c;同时…

API 概述

API 概述目录概述需求&#xff1a;设计思路实现思路分析1.High-Level API &#xff1a;用于事务边界定义、控制及事务状态查询。2.2. High-Level API5.2.2 GlobalTransactionContextTransactionalTemplateLow-Level API参考资料和推荐阅读Survive by day and develop by night.…

网络协议总结

网络协议总结网络模型网络协议TCP/IP 模型网络接入层封装与解封装实际数据传输举例发送数据包接收数据包网络接口处理IP 模块处理TCP 模块处理应用程序处理网络构成通信介质与数据链路网卡二层交换机路由器 / 三层交换机![在这里插入图片描述](https://img-blog.csdnimg.cn/a8e…

F280049C General-Purpose Input/Out(GPIO)

​ 文章目录GPIO8.1 简介8.2 配置概述8.3 ADC引脚上的数字输入&#xff08;AIO&#xff09;8.4 数字通用I/O控制8.5 输入限定8.5.1 异步输入8.5.2 仅与SYSCLKOUT同步8.5.3 使用采样窗口进行鉴定8.6 SPI信号8.7GPIO和外设引脚复用8.7.1GPIO复用8.7.2 外设复用8.8 内部上拉配置要…

基础架构:一条SQL查询语句是如何执行的?

这是专栏的第一篇文章,我想来跟你聊聊 MySQL 的基础架构。我们经常说,看一个事儿千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题。同样,对于 MySQL 的学习也是这样。平时我们使用数据库,看到的通常都是一个整体。比如,你有个最简单的表,表…

DML语句

DML语句目录概述需求&#xff1a;设计思路实现思路分析1.SQL 实例2.UPDATE3.DELETE4.SELECT5.是TRUNCATE参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better result,wai…

数字DNA盗窃可能会在2023年到来

攻击者总是在不断发展并寻找访问数字系统的方法。随着人工智能的使用越来越多&#xff0c;量子计算有望很快成为现实&#xff0c;网络威胁格局的变化比以往任何时候都快。 当谈到网络安全时&#xff0c;我们应该始终尝试着眼于即将发生的事情以及它将产生的影响。我们不能只是…

操作系统实验7:终端设备字符显示的控制

实验目的 加深对操作系统设备管理基本原理的认识&#xff0c;实践键盘中断、扫描码等概念&#xff1b;通过实践掌握Linux 0.11对键盘终端和显示器终端的处理过程。 实验内容 本实验的基本内容是修改Linux 0.11的终端设备处理代码&#xff0c;对键盘输入和字符显示进行非常规…

2022-我的年终总结

去年年末&#xff0c;我也写了一篇年终总结。去年这一年是极度繁忙的一年&#xff0c;因各种原因&#xff0c;过年没回家&#xff0c;一个人在宿舍度过了凄凉的春节。而今年是丰收的一年&#xff0c;去年所付出的一切都在今年获得了回报&#xff0c;我也迎来新的生活。 新的生活…

过年春联不可少,python带你制作春联,体验不一样的过年氛围

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 每逢春节&#xff0c;无论城市还是农村&#xff0c; 家家户户都要挑漂亮的红春联贴于门上&#xff0c;辞旧迎新&#xff0c;增加喜庆的节日气氛。 据说这一习俗起于宋代&#xff0c;在明代开始盛…

我是阿豪我的2022年年终总结.

时光如白驹过隙般&#xff0c;飞逝而过&#xff0c;来不及细品岁月的美好。一晃&#xff0c;2022年就过去了&#xff01; 明天新的一年就来了。回忆一下2022一年都干了什么。 3月份背了大概200多道的前端面试题&#xff0c;疯狂的刷面试题&#xff0c;一天不刷几道面试题心里…

ffmpeg从某站提取视频、音频、详解

ffmpeg从某站提取视频、音频、详解 事件背景 准备链接 第一步安装下载 ffmpeg是开源软件&#xff0c;安装网址http://ffmpeg.org/download.html#build-windows 本人用的windows10系统 打开网址后随便你怎么下载都行&#xff0c;Git、或者直接下等等 按图片输入上述网址也…

【攻防世界】Web very_easy_sql

做了web才发现&#xff0c;原来自己是真的什么都不懂啊&#xff0c;不过也好&#xff0c;说明我有很大的进步空间呢 不闲聊了&#xff0c;来看题目 打开是一个登录界面&#xff0c;我们抓包看看返回些什么 返回包有三个需要注意的地方&#xff0c;我都用框框圈起来了 有一个S…

【C++】map 与 set 的介绍与使用、力扣:692. 前K个高频单词

目录 一、关联式容器 二、键值对 三、set 3.1 set 的介绍 3.2 set 的使用 3.3. set 的使用举例 四、map 4.1 map的介绍 3.2 map 的使用 4.3 map的使用举例 五、经典练习题 1.set的使用 2.map的使用 思路一(稳定排序)&#xff1a; 思路二(priority_queue)&#x…