将函数拆分成更小的子函数放到代码中,会影响程序的效率吗? 在降低函数的圈复杂度的同时,我将函数分解为更小的部分,并为其使用了辅助函数和内联函数。
void functionParent(arguments)
{
intialCheckFunction(arguments);
functionOne();
functionTwo();
functionThree();
functionFour();
return STATUS;
}
void functionOne()
{
/*follows unary Principle.*/
}
我担心的是关于堆栈指针,频繁切换SP是否会极大地降低程序的效率还是可以忽略不计。
上面的函数 One,Two,.. 中有 UNARY 逻辑。
在此输入代码
可以在两种上下文中回复,C 以及 C++
最佳答案
只要您认为有助于提高可读性,就应该将逻辑拆分为自己的函数:函数调用本身的成本可以忽略不计。
尽管调用函数通常会消耗一些空间和 CPU 周期,但您完全不必担心:所涉及的指令经过了令人难以置信的优化,并且编译器可以在认为合适时内联您的代码。
编辑(响应comment by Potatoswatter)
需要注意的一件事是传递参数,尤其是在 C++ 中,用户代码可以参与复制传递给函数的参数的过程。在 C 中按值传递大型结构体也可能需要几个周期,因此您应该尽可能通过引用或指针传递它们。
关于c++ - 将函数逻辑分解为子函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11243034/