做这些事情不好吗? :
“只为调用其他函数创建函数是不是很糟糕?”
void pyRunScript(&o_Log, &o_Dict, ModuleName, *pDictArgs = NULL)
{
pyRunScript(o_Log, o_Dict, ModuleName, "run", pDictArgs);
}
void pyRunScript(&o_Log, &o_Dict, ModuleName, FuncName, *pDictArgs = NULL)
{ ... }
请注意:
由于stackoverflow中的盒子宽度有限而无法忽略的数据类型
& o_表示此变量仅用于输出。
答案 0 :(得分:4)
有一个只调用另一个函数的函数是不是很难?完全没有,如果它消除了重复,那么这是一种简单的方法。
答案 1 :(得分:2)
不,一般来说,制作仅调用其他功能的功能也是不错的,例如: “呼叫中心功能”,见代码完成史蒂夫麦康奈尔。
答案 2 :(得分:1)
使用默认调用不同函数的函数并不是一个坏习惯。
但如果没有添加最后的参数,那么特别使用相同的名称是不好的做法。如果我们说pDictArgs
是char *
我只是给函数名称一个“扭曲”,以便更容易区分:
void pyRunNamedScript(&o_Log, &o_Dict, ModuleName, FuncName, *pDictArgs = NULL)
{ ... }
答案 3 :(得分:1)
事实上,这种事情是重用代码的一种非常好的方法,不同的函数之间只有很小的差别。
非常好。
编辑: 大多数现代编译器都会内联这些“包装函数”,因此它根本不会增加任何开销。因此,将包装函数放入带内联的头文件中通常是有意义的,这样编译器就能够做到这一点。
答案 4 :(得分:1)
让函数调用另一个函数也不错。但是在这种情况下我可能会这样做:
void pyRunScript(&o_Log, &o_Dict, ModuleName, FuncName = "run", *pDictArgs = NULL)
答案 5 :(得分:0)
不是非法的,但总是提供一些额外的开销:这是调用函数成本,最好通过尝试内联函数来避免这种情况