<分区>
示例 1:
int length()
{
return strlen(random_string);
}
示例 2:
int length()
{
int str_length = 0;
str_length = strlen(random_string);
return str_length;
}
问题:
我遇到过很多函数,其中一行代码就可以满足该函数的要求,但我记得一些关于避免这种捷径的事情。
在某些情况下,一个比另一个更合适,还是我应该总是选择更简单的代码。
我永远不会去你的第二个例子,因为初始化然后赋值只是无缘无故地占用空间。
我可能做的是:
int length()
{
const int str_length = strlen(arbitrary_string);
return str_length;
}
这有两个原因:
- 您允许您的编译器执行命名返回值优化;和
- 您的返回值现在可以通过名称 self 记录。
但是,这对我来说更像是一个默认规则。
在这个具体的实际案例中:
- 您的返回类型只有极少的
int
,因此命名返回值优化无论如何都是不允许的,即使允许也基本上毫无意义;和
- 该函数已经很简单并且名称恰当。
所以我将使用第一个示例:
int length()
{
return strlen(arbitrary_string);
}