我想弥补我知识上的一些空白。从此开始。
示例(c#):
List<Person> names = new List<Person>();
Person friend = null;
for(int i = 0; i < 5; i++)
{
friend = new Person();
Person guy = new Person();
guy.name = "Bob" + i;
friend.name = "Bill" + i;
names.Add(guy);
names.Add(friend);
}
在这里,我在同一个循环中使用了两个 Person 对象,只是为了节省空间。
我的理解是,每次实例化朋友时,我都会重用内存中的相同位置,覆盖现有的 Person 对象(如果存在)。
而每个新的“家伙”对象都被分配了一个新的内存位置。
如果这是正确的,如果这是错误的,请纠正我,这意味着使用“friend”而不是“guy”更节省内存。
会不会有“家伙”会更好的情况?它可能取决于构造函数的实现吗?