码迷,mamicode.com
首页 > 其他好文 > 详细

Ref/Out

时间:2018-10-11 11:25:21      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:类型   改变   数值   地址传递   printf   int   多个   程序   功能   

1.相同点

  ref/out中C#代替指针功能,按照地址传递,使用ref/out都将强行改变原有放在堆栈的值类型值。

  例子:

    (1)

    int a =1;

    Fun(a);

    ------------------

    (2)

    int b = 1;

    Fun(out/ref b);

    printf(b);

    -------------------

    比较两个a,区别就知道了。

  优点:我们需要把原有值类型值当参数传入某个方法时得到这个值类型的新值。(尤其在做sdk开发时用的多些)。

      另一个优点是,可以以这种Fun()里的多个参数返回给程序员想用的对应参数值。

2.不同点  

  ref:

    Fun()函数内部没有重新定义b的值,Fun外部的b值即为Fun内部b初始值

  out:

    Fun()函数内部有重新定义的b值,不承认Fun外部的b值,牛气的在Fun内部自己定义

  

Ref/Out

标签:类型   改变   数值   地址传递   printf   int   多个   程序   功能   

原文地址:https://www.cnblogs.com/HansZimmer/p/9770966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!