Closed. This question is opinion-based。它当前不接受答案。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
2年前关闭。
Improve this question
我遇到这样的情况,我想在一个非常大的旧版代码库中使用默认参数作为引用,以进行修复。
我的问题是在 namespace 内使用静态变量本身只是悬而未决。
该代码将在发货前进行检查,但我不确定是否有这样的悬挂静态变量是否被视为不良做法。
没有变量,您将没有默认值作为引用。我的选择非常有限,无法进行其他更改以获得所需的效果。
这会被视为“骇人的非专业编码”吗? 删除全局变量。 不要对引用参数使用默认值。 创建仅具有一个参数的函数重载。 从第二个函数中调用第一个函数。
客户代码可以调用适合其上下文的任何函数。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
2年前关闭。
Improve this question
我遇到这样的情况,我想在一个非常大的旧版代码库中使用默认参数作为引用,以进行修复。
static bool _defaultValue = false;
bool SomeFunction(const SomeComplexObject& iObj, bool& isSomeVal = _defaultValue )
{
// ... code
}
我的问题是在 namespace 内使用静态变量本身只是悬而未决。
该代码将在发货前进行检查,但我不确定是否有这样的悬挂静态变量是否被视为不良做法。
没有变量,您将没有默认值作为引用。我的选择非常有限,无法进行其他更改以获得所需的效果。
这会被视为“骇人的非专业编码”吗?
最佳答案
我的建议是:
bool SomeFunction(const SomeComplexObject& iObj, bool& isSomeVal)
{
// ... code
}
bool SomeFunction(const SomeComplexObject& iObj)
{
bool dummy;
return SomeFunction(iObj, dummy);
}
客户代码可以调用适合其上下文的任何函数。
关于c++ - 这会被视为不良的编程习惯吗? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50959699/
10-10 15:37