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

如何记录函数修改的全局变量?兼容Doxygen方案咨询

兼容Doxygen的全局变量修改记录方案

针对你需要用Doxygen规范记录函数修改全局变量的需求,这里提供几种清晰且兼容行业标准的方案,避免在描述里堆砌杂乱文字:

方案1:用\post标签(推荐)

\post是Doxygen标准标签,用于定义函数执行完成后的预期状态,适合明确说明全局变量的修改结果:

extern double FIRST_VALUE;
extern double SECOND_VALUE;

/**
 * Calculate the values.
 * \param input  The parameter used to calculate the values
 * \post FIRST_VALUE 被设置为 do_magic(input) 的计算结果
 * \post SECOND_VALUE 被设置为 do_more_magic(input) 的计算结果
 */
void calculate_values(double input)
{
    FIRST_VALUE = do_magic(input);
    SECOND_VALUE = do_more_magic(input);
}

方案2:用\sideeffect标签

如果修改全局变量属于函数的附加副作用(而非核心功能输出),可以用\sideeffect标注:

extern double FIRST_VALUE;
extern double SECOND_VALUE;

/**
 * Calculate the values.
 * \param input  The parameter used to calculate the values
 * \sideeffect 修改 FIRST_VALUE 为 do_magic(input) 的结果
 * \sideeffect 修改 SECOND_VALUE 为 do_more_magic(input) 的结果
 */
void calculate_values(double input)
{
    FIRST_VALUE = do_magic(input);
    SECOND_VALUE = do_more_magic(input);
}

进阶:分块详细说明

如果需要对每个全局变量的修改做更细致的解释,可用\par标签单独划分区块,结构更清晰:

extern double FIRST_VALUE;
extern double SECOND_VALUE;

/**
 * Calculate the values.
 * \param input  The parameter used to calculate the values
 * \par 修改的全局变量:
 * - FIRST_VALUE: 更新为 do_magic(input) 的输出,代表[此处补充变量含义]
 * - SECOND_VALUE: 更新为 do_more_magic(input) 的输出,代表[此处补充变量含义]
 */
void calculate_values(double input)
{
    FIRST_VALUE = do_magic(input);
    SECOND_VALUE = do_more_magic(input);
}

以上方案都完全兼容Doxygen规范,主流IDE(如VS Code、CLion、Eclipse)都会识别这些标签,在代码提示时展示清晰的说明,解决了原有描述杂乱的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 11:05:23