摘要:        
如果函数返回值是一个对象,要考虑 return 语句的效率。例如  return String(s1 + s2); 这是临时对象的语法,表示“创建一个临时对象并返回它” 。不要以为它与“先创建一个局部对象 temp 并返回它的结果”是等价的,如 String temp(s1 + s2); return temp; 实质不然,上述代码将发生三件事。首先...    阅读全文
posted @ 2010-09-25 22:35
Bigcoder
阅读(2339)
评论(0)
推荐(0)
        
            
        
        
摘要:        
格式:类型标识符 &函数名(形参列表及类型说明){ //函数体 }好处:在内存中不产生被返回值的副本;(注意:正是因为这点原因,所以返回一个局部变量的引用是不可取的。因为随着该局部变量生存期的结束,相应的引用也会失效,产生runtime error! 注意事项:(1)不能返回局部变量的引用。这条可以参照Effective C++[1]的Item 31。主要原因是局部变量会在函数返回后被销毁...    阅读全文
posted @ 2010-09-25 21:18
Bigcoder
阅读(2357)
评论(0)
推荐(0)
        
            
        
        
摘要:        
看看下面的程序的输出: #include <stdio.h> char *returnStr() {  char *p="hello world!";  return p; } int main() {  char *str;  str=returnStr();  printf("%s\n", str);  return 0; } 这个没有任何问题,因为"hello world!"是一...    阅读全文
posted @ 2010-09-25 20:48
Bigcoder
阅读(3132)
评论(0)
推荐(0)
        
                    
                
浙公网安备 33010602011771号