// find longer of two strings
const string &shorterString(const string &s1, const string &s2)
{
return s1.size() < s2.size() ? s1 : s2;
}
1、阅读和理解函数 shorterString 的调用,要比读一条用等价的条件表达式取代函数调用表达式并解释它的含义要容易得多。
2、如果需要做任何修改,修改函数要比找出并修改每一处等价表达式容易得多。
3、使用函数可以确保统一的行为,每个测试都保证以相同的方式实现。
4、函数可以重用,不必为其他应用重写代码。
但是,将 shorterString 写成函数有一个潜在的缺点:调用函数比求解等价表达式要慢得多。在大多数的机器上,调用函数都要做很多工作;调用前要先保存寄存器,并在返回时恢复;复制实参;程序还必须转向一个新位置执行。
做多少项目后,才能总结出这样的价值?
const string &shorterString(const string &s1, const string &s2)
{
return s1.size() < s2.size() ? s1 : s2;
}
1、阅读和理解函数 shorterString 的调用,要比读一条用等价的条件表达式取代函数调用表达式并解释它的含义要容易得多。
2、如果需要做任何修改,修改函数要比找出并修改每一处等价表达式容易得多。
3、使用函数可以确保统一的行为,每个测试都保证以相同的方式实现。
4、函数可以重用,不必为其他应用重写代码。
但是,将 shorterString 写成函数有一个潜在的缺点:调用函数比求解等价表达式要慢得多。在大多数的机器上,调用函数都要做很多工作;调用前要先保存寄存器,并在返回时恢复;复制实参;程序还必须转向一个新位置执行。
做多少项目后,才能总结出这样的价值?