值参数,在函数执行前会调用一次拷贝构造函数初始化这个临时对象。  func(A)

  引用参数,不产生一个临时对象来保存对象信息,不调用拷贝构造函数。  func(A&)

  值返回,会产生一个临时对象(返回),并执行一次拷贝构造函数。  A func()

  引用返回,不需要创建临时对象来保存对象信息(直接返回自身对象的引用),不调用拷贝构造函数。  A& func()

 

//不能返回局部参数的引用  A& func(A a) { return a; }

//如果有临时对象有一个引用,那么这个临时对象的生存周期可延长至和这个引用相同。  A func(A(&) a) { return a; } const A& a2 = func(a1);

  

  

  

 

 posted on 2012-12-27 18:31  飞翔@骑士  阅读(394)  评论(0编辑  收藏  举报