社区
C#
帖子详情
怎样提高一个类引用另外一个类的属性的效率
fallincloud
2011-10-18 11:16:24
在一个类(A)中有一个循环需要使用另外一个类(B)的属性(已有个静态的Instance实例),
1.在循环中直接使用那个类(B)的属性
2.还是在循环的外头 放一个局部变量存储那个属性的值
3. 或者还是在该类(A)中使用一个static全局变量存储那个类的属性的值
哪个效率更高?或者还有更好的办法没。(类A会有大量的实例)
当B的属性分别是值类型和引用类型时又有什么区别?
...全文
117
4
打赏
收藏
怎样提高一个类引用另外一个类的属性的效率
在一个类(A)中有一个循环需要使用另外一个类(B)的属性(已有个静态的Instance实例), 1.在循环中直接使用那个类(B)的属性 2.还是在循环的外头 放一个局部变量存储那个属性的值 3. 或者还是在该类(A)中使用一个static全局变量存储那个类的属性的值 哪个效率更高?或者还有更好的办法没。(类A会有大量的实例) 当B的属性分别是值类型和引用类型时又有什么区别?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
stonespace
2011-10-18
打赏
举报
回复
显然最可靠的是1,无论如何都不会出错,效率稍低,但只要不是瓶颈,1一般不会比23慢,这个你可以通过测试来验证,
如果B属性不会再循环过程中变化,2也可取,很多情况下这也可以得到保证,
不过实测1效率不低的话,应该用1,最简单可靠,
stonespace
2011-10-18
打赏
举报
回复
其实大多数情况下,你这三种方法效率都差不多,
当然理论上3效率最高,1效率最低,因为1调用B的属性,属性是一个方法,涉及调用压栈退栈等操作,1比2/3效率都低,2效率和3接近或者一样,不过2需要在循环外存储这个值,需要分配空间,不过一般在栈中,
值类型和引用类型有区别,但区别不大,
但是你要注意,2和3是有风险的,不一定正确,取决于B的这个属性是不是一个常数,如果B的属性是常数,不会改变,那么23是绝对正确的,如果B的属性会变化,那么3就是错的,除非像2一样处理,在循环钱更新static变量的值,
B属性会变化的情况,2也可能是错的,这取决于B的属性会不会在循环过程中发生变化,
兔子-顾问
2011-10-18
打赏
举报
回复
2
bdmh
2011-10-18
打赏
举报
回复
如果那个属性是动态的,那就要不断的访问,如果是一次不变的,只需读取一次存下来就是了
PHP5 面向对象程序设计
PHP5有
一个
单重继承的,限制访问的,可以重载的对象模型. 本章稍后会详细讨论的”继承”,包含
类
间的父-子关系. 另外,PHP支持对
属性
和方法的限制性访问. 你可以声明成员为private,不允许外部
类
访问. 最后,PHP允许
一个
子
类
从它的父
类
中重载成员. PHP5的对象模型把对象看成与任何其它数据
类
型不同,通过
引用
来传递. PHP不要求你通过
引用
(reference)显性传递和返回对象. 在本章的最后将会详细阐述基于
引用
的对象模型. 它是PHP5中最重要的新特性. 有了更直接的对象模型,就拥有了附加的优势:
效率
提高
, 占用内存少,并且具有更大的灵活性. 在PHP的前几个版本中,脚本默认复制
C++ |
引用
变量
目录 目录 导语:为什么要有
引用
变量
引用
的概念 用法示例
引用
的
属性
与特别之处 主要作用 1.
引用
作参数 用法
引用
传参的另
一个
好处 小结 2.
引用
作返回值 为何要返回
引用
返回
引用
时要注意的问题 小结 何时使用
引用
参数 1. 传递值而不修改值(尽量 const 修饰) 2. 需要修改原数据 实现方法(汇编层来看) 导语:为什么要有
引用
变量 拿
一个
...
C++
引用
的详解
引用
的详解
引用
的应用: 1、
引用
作为参数
引用
的
一个
重要作用就是作为函数的参数。以前的C语言中函数参数传递是值传递,如果有大块数据作为参数传递的时候,采用的方案往往是指针,因为这样可以避免将整块数据全部压栈,可以
提高
程序的
效率
。但是现在(C++中)又增加了一种同样有
效率
的选择(在某些特殊情况下又是必须的选择),就是
引用
。 (1)使用
引用
传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本;
c++学习笔记-----
引用
、
类
和对象概念总结
一、
引用
(一)概念
引用
不是新定义
一个
变量,而是给已存在变量取了
一个
别名,编译器不会为
引用
变量开辟内存空间,它和它
引用
的变量共用同一块内存空间。比如孙悟空的别名叫做孙猴子,但是不管是孙猴子还是孙悟空都是指的同
一个
人。 int a=1; int& b=a; 如上,b是a的别名,a是b的
引用
,注意这里&符号不是取地址。 (二)作用 1.我们经常使用
引用
来做输出型参数或者大对象
引用
传参这样可以
提高
效率
。 void swap(int& a,int& b) { int tmp=a
Java
类
继承
类
是Java中最基本的代码单元,它是一种用户自定义的数据
类
型,用于封装数据和方法。
类
可以看作是
一个
模板或蓝图,描述了一
类
对象的
属性
和行为。在Java中,
类
的定义通常包括
类
名、
类
的成员变量、
类
的方法等。其中,
类
名是唯一的,并且必须与文件名相同。
类
的成员变量是描述
类
的
属性
的变量,可以是基本数据
类
型或其他
类
的对象。
类
的方法是描述
类
的行为的函数,可以访问
类
的成员变量和其他
类
的对象。我们可以通过创建对象来实例化
一个
类
,即在内存中分配空间来存储该
类
的实例,并调用其方法来操作实例的
属性
和行为。
C#
111,097
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章