参数的引用传递和值传递

如果希望编写一个名为increment()的函数来增加一个变量的值,我们可能会按如下方式编写这个函数:Function increment($value,$amount =1)[ $value = $value +$amount;]这段代码是没有用的。下面测试代码的输出结果是“10”。$value =10;Increment($value); echo $value;

        如果希望编写一个名为increment()的函数来增加一个变量的值,我们可能会按如下方式编写这个函数:

值类型和引用类型的应用场合

在了解了内存机制和熟悉了通用规则的基础上,我们就可以很好地总结出值类型和引用类型在系统设计时,如何做出选择,如何去选择使用值类型。因为引用类型才是.NET的主体,所以它在大部分的场合中已经受到了青睐。

1.值类型的应用场合

1)MSDN中建议以类型的大小作为选择值类型或者引用类型的决定性因素。数据局较小的场合,最好考虑以值类型来实现系统性能的改善。

2)结构简单,不必在多态的情况下,值类型是较好的选择。

3)类型性质不表现出行为时,不必以类来实现,那么以存储数据为主要目的的情况下,值类型是优先的选择。

一个指针和引用的模型

因为我们进行的是上下文无关的分析,所以只需要断定一个给定的变量u能够指向一个给定的堆对象h,不需要指出在程序中的什么地方u可能指向h,或者在什么样的上下文中u可以指向h请注意,变量可以通过它的全名来命名。在Java中,这个全名包括了模块、类、方法和方法中的块以及变量名本身。因此,我们可以区分标识符相同的多个变量。
假设我们的语言可以用下列方式来表示和操作引用:

1)某些程序变量的类型为“指向T的指针”或“指向r的引用”,其中T是一个类型。这些变量可以是静态的,也可能位于运行时刻栈中。我们简单地称它们为变量。

«1»
最近发表
控制面板
您好,欢迎到访网站!
  [查看权限]
网站分类
搜索
Tags列表
网站收藏
图标汇集
  • 订阅本站的 RSS 2.0 新闻聚合
友情链接

热门搜索: 外链域名 高外链域名 高收录域名

Copyright www.thyst.cn. Some Rights Reserved.