Class 减少类成员变量中不必要的相同值

Class 减少类成员变量中不必要的相同值,class,memory,optimization,member,Class,Memory,Optimization,Member,我将从A创建10个实例。然后我将再次从A创建15个实例。。。继续前10个实例的变量值相同,接下来15个实例的a值也相同。但我并不是说这两个组的a值相同。问题是在第一个组中创建相同的值10次,在第二个组中创建相同的值15次,这是不必要的 在这种情况下,减少不必要数据的最佳解决方案是什么 如果a和c实际上只是整数,那么在内存空间之外尝试优化它们是不值得的;在大多数情况下,任何用于这样做的操作都会占用比整数本身更多的空间 但是,如果a和c实际上是占用大量内存的对象,则可以将对象指针(或保持器,取决于语

我将从A创建10个实例。然后我将再次从A创建15个实例。。。继续前10个实例的变量值相同,接下来15个实例的a值也相同。但我并不是说这两个组的a值相同。问题是在第一个组中创建相同的值10次,在第二个组中创建相同的值15次,这是不必要的


在这种情况下,减少不必要数据的最佳解决方案是什么

如果
a
c
实际上只是整数,那么在内存空间之外尝试优化它们是不值得的;在大多数情况下,任何用于这样做的操作都会占用比整数本身更多的空间


但是,如果
a
c
实际上是占用大量内存的对象,则可以将对象指针(或保持器,取决于语言)作为
a
的成员,而不是对象本身。这样,指针中的唯一内存就被复制了。

很明显,静态成员无法解决此问题。因为实例组将具有不同的值

这可能是一个解决方案,还有什么其他的呢

class A
{
 public int a;
 public int c;
}
HashSet
会有帮助吗?

另一个解决方案是

class Common
{
  public int a;
}
class A
{
  public Common a;
  public int c;
}

但不是创建int的新实例?类,我们应该分配相同的实例。但是强制int?使用int会很难看,并会导致性能问题。

我不知道它与语言有关。如果它真的与c#或java有关。是的,它和语言也有点关系。在C中,我们可以使用指针。在.net中,我们也可以使用指针。但是编写不安全的代码并不吸引我。对象指针是指引用类型变量吗?如果是这样,我在下面给出了类似的答案。但我不知道refance成员将占用多少空间。对现有对象的引用通常只不过是指针,并且占用少量内存。
class A
{
  public int? a;
  public int c;
}