Oop 面向对象语言中的变量/对象数据结构
在面向对象编程语言中,当您定义变量时,它最终成为对象的引用。变量本身不是对象,而是指向带有分配给该变量的值的对象 问题是这是如何如此有效地工作的?变量如何分配给对象的机制是什么 我认为组织是一个链表,但是找不到关于数据是如何用Ruby或Java等语言构造的参考资料 在面向对象编程语言中,当您定义变量时,它最终成为对象的引用 这并不总是正确的。例如,C++可以被认为是面向对象的语言,但是语言的用户可以使用变量作为引用/指针或明确地作为一个值。 但是,您是对的,一些(通常是更高级的)OO语言隐式地使用引用,这样语言的用户就不必担心性能方面的这些实现“细节”。他们试图对此负责 这是如何如此有效地工作的?变量如何分配给对象的机制是什么 考虑一个简单的例子。当对象作为参数传递给函数时会发生什么?必须创建该对象的副本,以便函数可以在本地引用该对象。对于隐式使用引用的OO语言,只需要复制对象的地址,而真正的传递值需要复制对象的完整内存内容,这可能非常大(请考虑对象集合或类似内容) 对这一点的详细解释包括深入了解组装的细节。例如,为什么一开始就需要将对象复制到函数调用?为什么地址的间接寻址不比直接值花费更长的时间?等等 相关的 在面向对象编程语言中,当您定义变量时,它最终成为对象的引用 这并不总是正确的。例如,C++可以被认为是面向对象的语言,但是语言的用户可以使用变量作为引用/指针或明确地作为一个值。 但是,您是对的,一些(通常是更高级的)OO语言隐式地使用引用,这样语言的用户就不必担心性能方面的这些实现“细节”。他们试图对此负责 这是如何如此有效地工作的?变量如何分配给对象的机制是什么 考虑一个简单的例子。当对象作为参数传递给函数时会发生什么?必须创建该对象的副本,以便函数可以在本地引用该对象。对于隐式使用引用的OO语言,只需要复制对象的地址,而真正的传递值需要复制对象的完整内存内容,这可能非常大(请考虑对象集合或类似内容) 对这一点的详细解释包括深入了解组装的细节。例如,为什么一开始就需要将对象复制到函数调用?为什么地址的间接寻址不比直接值花费更长的时间?等等 相关的Oop 面向对象语言中的变量/对象数据结构,oop,variables,object,data-structures,Oop,Variables,Object,Data Structures,在面向对象编程语言中,当您定义变量时,它最终成为对象的引用。变量本身不是对象,而是指向带有分配给该变量的值的对象 问题是这是如何如此有效地工作的?变量如何分配给对象的机制是什么 我认为组织是一个链表,但是找不到关于数据是如何用Ruby或Java等语言构造的参考资料 在面向对象编程语言中,当您定义变量时,它最终成为对象的引用 这并不总是正确的。例如,C++可以被认为是面向对象的语言,但是语言的用户可以使用变量作为引用/指针或明确地作为一个值。 但是,您是对的,一些(通常是更高级的)OO语言隐式地使