分类: C/C++
2008-08-06 17:06:24
/**
* ... 文本 ...
*/
此外您也可以使用Qt风格,如
/*!
* ... 文本...
*/
以上两种风格中间的*是可选的,也就是下面这样写也是可以的:
/*!
... 文本...
*/
第三种是使用至少两行C++"//"注释,如:
///
/// ... 文本...
///
或者
//!
//!...文本...
//!
有的程序员也许喜欢下面这种风格,有比较好的视觉效果:
/////////////////////////////////////////////////
/// ... 文本...
/////////////////////////////////////////////////
对于简单的描述信息,可能有几种情况。一种是在注释块的开头使用\brief命令,该命令一直到段落结束有效,所以详细描述信息从空一行后开始,如下例:
/*! \brief 简洁的描述信息 description.
* 又一些简洁的描述信息。
*
* 详细描述信息从这里开始。
*/
在配置文件中,如果JAVADOC_AUTOBRIEF设为YES,则Doxygen将使用JavaDoc风格的注释块,从简洁描述信息后的点空格. 开始为详细描述信息,例如:
/** 简洁信息结尾是一个点号. 详细描述信息从
* 这里开始
*/
该选项对C++风格的多行注释也是有效的:
///简洁信息结尾是一个点号. 详细描述信息从
///这里开始
或者:
/// 简洁描述信息
/** 详细描述信息*/
或者:
//!简洁描述信息
//!详细描述信息从
//!这里开始
此例中间空行用来分割简洁描述信息块和详细描述信息块。可见doxygen的文档标注使用格式是非常自由的。不过要注意下面格式是不合法的,因为doxygen只允许一块详细描述信息对应一块简洁描述信息:
//!简洁描述信息
//! 详细描述信息
/*! 注意,又一详细描述信息!
*/
下例使用Qt风格的文档标注:Doxygen的文档标注是不是非常容易?当然还可以有更高级的应用,如标注列表、分组,甚至支持生成公式(Latex)。上面只编译了最简单的一些使用方法,更多内容请参考Doxygen的帮助文档doxygen_manual。
//! A test class.
/*!
A more elaborate class description.
*/
class Test
{
public:
//! An enum.
/*! More detailed enum description. */
enum TEnum {
TVal1, /*!< Enum value TVal1. */
TVal2, /*!< Enum value TVal2. */
TVal3 /*!< Enum value TVal3. */
}
//! Enum pointer.
/*! Details. */
*enumPtr,
//! Enum variable.
/*! Details. */
enumVar;
//! A constructor.
/*!
A more elaborate description of the constructor.
*/
Test();
//! A destructor.
/*!
A more elaborate description of the destructor.
*/
~Test();
//! A normal member taking two arguments and returning an integer value.
/*!
\param a an integer argument.
\param s a constant character pointer.
\return The test results
\sa Test(), ~Test(), testMeToo() and publicVar()
*/
int testMe(int a,const char *s);
//! A pure virtual member.
/*!
\sa testMe()
\param c1 the first argument.
\param c2 the second argument.
*/
virtual void testMeToo(char c1,char c2) = 0;
//! A public variable.
/*!
Details.
*/
int publicVar;
//! A function variable.
/*!
Details.
*/
int (*handler)(int a,int b);
};