(我不知道正确的术语以便进行搜索或给出适当的标题)
我一直想知道:如果一个人使用一个函数调用来为另一个函数提供参数,这有关系吗(速度或编译大小)?我可以看到如何不这样做可以提高代码的可读性,但有时使用一堆局部变量会变得乏味。
我的意思是:假设它们被多次调用(如在 for..loop
中)这两者之间有什么实际区别吗:
byte patternType = mCols[i].getPatternType();
byte stepIndex = mCols[i].update(m);
byte patternValue = getPatternValue(patternType, stepIndex);
还有这个:
byte patternValue = getPatternValue(mCols[i].getPatternType(), mCols[i].update(m));
最佳答案
评估参数的顺序是未定义的。如果函数是纯函数,这应该无关紧要,但如果它们有副作用,那就可能了。
关于c - 函数调用作为其他函数的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22361474/