在函数体的 "出口处" ,对return语句的正确性和效率进行检查
注意事项如下:
(1) return 语句不可返回指向“栈内存”的“指针”或者“引用”(即函数的局部变量),因为该内存在函数体结束时被自动销毁
char * Func(void)
{
char str[] = “hello world”; // str 的内存位于栈上
return str; // 将导致错误
}
(3) 如果函数返回值是一个对象,要考虑return 语句的效率。
return String(s1 + s2);
//直接创建一个临时对象并返回它
//效率比较高
String temp(s1 + s2);
return temp;
//先创建一个局部对象temp,之后使用一个临时对象接收它,最终返回它的结果
//效率低下