call-by-value 传值调用
return-by-value 传值返回
Type func_pass(Type paramemter)
{
return parameter;
}
传值调用 和 传值返回 都使用了复制传值:
Type type2 = func_pass(type1);
//分析
Type parameter = type1; //传参时复制一次
Type return_tmp = parameter; //返回时复制一次(假设返回语句中有个看不见的隐藏变量)
Type type2 = return_tmp; //调用时复制一次
即:
Type type2 = Type return_tmp = Type parameter = type1;//共三次复制
其中,parameter和return_tmp都是会销毁的
parameter离开了函数体就会销毁
return_tmp在=号的调用结束后会销毁
【如有不当之处,请评论予以指正】