C++ 函数使用全解析
1. 函数作为参数
在 C++ 中,可以将返回值的函数作为另一个函数的参数。例如:
int MyIntFunction(int x, int y);
bool MyBoolFunction(int x, int y);
z = MyFunction(MyIntFunction(3,5), MyBoolFunction(2,4));
这里, MyFunction
的参数分别是 MyIntFunction(3,5)
返回的整数值和 MyBoolFunction(2,4)
返回的布尔值。
不过,这种做法虽然合法,但会使代码难以阅读和调试。比如:
Answer = (doubler(tripler(square(cube(myValue)))));
很难确定代码的具体执行顺序,也难以排查错误。更好的做法是使用中间变量:
unsigned long myValue = 2;
unsigned long cubed = cube(myValue); // cubed = 8
unsigned long squared = square(cubed); // squared = 64
unsigned long tripled = tripler(squared);