gpt4 book ai didi

c++ - 在 C++ 中使用和不使用调试信息设计函数的正确方法

转载 作者:太空狗 更新时间:2023-10-29 20:27:07 25 4
gpt4 key购买 nike

当我在一个类中设计一个函数时,我想平衡我可以从中提取的信息。一些信息可能对调试有用,但作为函数的输出不是必需的。我举以下例子:

class A
{
bool my_func(int arg1, int &output, std::vector<int> &intermediate_vec);
{
// do something
}
}

在函数中 my_func , std::vector<int> &intermediate_vec没有必要,因为我感兴趣的唯一信息存储在变量 output 中.但是,出于调试目的,我也有兴趣获得 intermediate_vec因为出于某种原因在函数内部检查这个变量是不方便的。因此,我考虑在A类内部设计两个函数,一个用于调试,一个用于实际应用。

    class A
{
// for debug
bool my_func(int arg1, int &output, std::vector<int> &intermediate_vec);
{
// do something
}
// invoked by other programs
bool my_func(int arg1, int &output);
{
// do something
std::vector<int> intermediate_vec
return my_func(arg1, output, intermediate_vec);
}
}

我只是想知道是否有更好的方法来完成这项工作。谢谢。

最佳答案

使用日志库并在调试日志级别记录这些中间值,而不是将它们收集为输出。

关于c++ - 在 C++ 中使用和不使用调试信息设计函数的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17214780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com