You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不使用成员组的Doxygen中避免C++重载函数注释重复?

Doxygen处理C++重载函数注释的优化方案

不用复制粘贴,针对重载函数的注释复用问题,有两种高效解决方案:

方案1:使用@overload命令

给第一个重载函数编写完整的公共注释(包括@brief和公共参数说明),后续重载函数只需用@overload标记,再补充各自独有的参数注释即可。Doxygen会自动关联这些重载函数,共享公共文档内容。

示例代码:

/// @brief 执行frobnication操作
/// @param s 某个字符串参数
/// @param x 类木琴音色的参数
/// @param b 起到堡垒作用的参数
void frobincate(char const* s, int x, bool b);

/// @overload
/// @param f 出色的参数
/// @param d 恶劣的参数
void frobincate(char const* s, float f, double d);

方案2:使用@copydoc命令复用注释

如果需要灵活复用已有函数的完整文档,再补充差异部分,可以用@copydoc直接引用第一个函数的文档,然后追加当前重载独有的参数说明:

示例代码:

/// @brief 执行frobnication操作
/// @param s 某个字符串参数
/// @param x 类木琴音色的参数
/// @param b 起到堡垒作用的参数
void frobincate(char const* s, int x, bool b);

/// @copydoc frobincate(char const*, int, bool)
/// @param f 出色的参数
/// @param d 恶劣的参数
void frobincate(char const* s, float f, double d);

关于成员组(///@{////@})的说明

你之前尝试的成员组功能是用来将多个成员归类展示,组级注释是整个组的说明文字,不会自动继承给组内每个成员,因此不适合实现重载函数的注释复用。

内容的提问来源于stack exchange,提问作者einpoklum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 22:26:26