【发布时间】:2013-07-27 21:42:05
【问题描述】:
我正在制作一个游戏,我需要知道有多少汽车正在与玩家的汽车联系,以及哪些汽车。我的计划是创建一个List,并在必要时添加和删除汽车。
这是我的问题。我的Car 课程的创建成本非常高(处理能力方面)。为汽车创建reference 的成本是多少?我知道在 C++ 中我所说的叫做指针。这是代码中的示例:
Car newCar = new Car(); // expensive
Car carCopy = newCar.clone(); // expensive
Car referenceNewCar = newCar; // expensive?
referenceNewCar 应该指向与newCar 相同的内存位置,对吧?所以它不必初始化任何东西,并且说newCar.changeMemberVariableTo(1)与referenceNewCar.changeMemberVariableTo(1)是一样的;无论哪种方式,newCar 和 referenceNewCar 都会受到影响,因为它们指向内存中的同一个位置。
我认为创建一个新的引用比创建一个全新的Car 更便宜。它快多少?例如,如果创建一个新的Car 需要 3 秒,那么创建对同一辆车的新引用几乎是瞬间的吗?
提前致谢。
【问题讨论】:
-
是的,它是瞬时的。