当我在一个类中设计一个函数时,我想平衡我可以从中提取的信息。一些信息可能对调试有用,但作为函数的输出不是必需的。我举以下例子:
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);
}
}
我只是想知道是否有更好的方法来完成这项工作。谢谢。