传递引用而非副本

1.传递引用参数

传递引用能免去传入参数时的复制操作。

2.返回引用参数

既然传递引用能免去传入参数时的复制操作,那么返回数据时同样也可以采取传递引用的方式返回。

当然我们也可以在子程序中返回多个数据,就和给子程序传递参数一样,以便区分:

my ($array_ref,$hash_ref) = make_data_structure();
sub  make_data_structure{
    # ......
   return \@array,\%hash;

}

3.用local * 对引用参数本地化

sub max_v_local {
  local (*a,*b) = @_ ;
 my $n = @a>@b ? @a: @b;
 .......
}
posted @ 2013-04-15 11:18  新闻官  阅读(129)  评论(0编辑  收藏  举报