当我在PHP中实例化一个类时,是否获得了指向该对象的指针?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了当我在PHP中实例化一个类时,是否获得了指向该对象的指针?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1054字,纯文字阅读大概需要2分钟。
内容图文
![当我在PHP中实例化一个类时,是否获得了指向该对象的指针?](/upload/InfoBanner/zyjiaocheng/676/dea27549741b4162a3c63e1674803a9d.jpg)
还是我的变量保存对象本身?
例如,当我说:
$obj = new ClassOne();
$obj是指向内存中创建的对象的指针吗?它仅保存对象的内存地址吗?还是它持有物体本身?
例如,当我说
$obj = new SomeOtherClass();
是像JAVA那样对ClassOne对象进行垃圾回收,还是像C那样导致内存泄漏?
解决方法:
简而言之,C和Java中的对象模型有些不同:
> C具有不受约束的变量:每种对象类型都可以作为可变量对象的类型出现.换句话说,变量可以是任何类型的对象. (但是并不是所有的变量都是对象(例如引用)!)而且,所有变量都是有作用域的,因此,所有对象(即变量)的生存期也是自动有作用域的.只有动态分配的对象永远不能是变量,并且只能通过指针和引用进行处理.
>在Java中,如果我们忽略基本类型,则变量永远不会是对象,而对象永远不会是变量.所有对象总是“神奇地位于其他地方”(例如“ GC堆”),并且您只能通过类似指针的句柄来处理它们.在Java中,类型T的变量始终是对驻留在其他地方的类型T的实际对象的引用.像C中一样,变量的作用域也是不确定的,但是所有Java对象的生存期是不确定的,并且只能保证超出对给定对象的所有引用的生存期.
(对于像int这样的内置“值”类型类型,情况则有所不同,它们可以作为变量的类型出现,并且实际上不能动态分配.)
>在这方面,我认为PHP与Java类似.
内容总结
以上是互联网集市为您收集整理的当我在PHP中实例化一个类时,是否获得了指向该对象的指针?全部内容,希望文章能够帮你解决当我在PHP中实例化一个类时,是否获得了指向该对象的指针?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。