您的位置:首页 > 编程语言 > C语言/C++

高质量C++编程_第6章_函数设计(3)

2012-06-06 14:49 148 查看
在函数体的 "出口处" ,对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,之后使用一个临时对象接收它,最终返回它的结果
//效率低下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: