【问题标题】:Regarding memory of classes public type functions关于类公共类型函数的记忆
【发布时间】:2012-12-22 23:24:15
【问题描述】:

当使用类的构造函数创建对象时,它会使用并存储一些内存空间。 创建更多对象会占用更多空间。我的问题是:如果那个类有很多公共类型函数,逻辑上会花费更多空间,但是当创建更多具有许多公共类型函数的同一个类的对象时,这些函数会单独创建并使用更多空间吗?我想问的是例如:类有 3 个公共类型函数,当创建 1 个对象时,它将使用 1*3x 内存,但是当创建更多对象(10)时,它会使用 10*3x 内存,或者只是 10+ 3?所以如果我是对的,当对象需要使用许多公共类型函数,并且有很多相同的对象时,也许将这些公共函数存储在父类中会更好,这样会消耗更少的内存?

【问题讨论】:

  • 哦,如果我需要将许多值传递给父类公共函数,是否需要更多时间~/memory 那么如果它的函数将存储在子类中?

标签: class function object memory public


【解决方案1】:

只有对象的数据成员才使用内存空间。函数/方法总是在所有对象之间共享。唯一使用一些内存空间的方法是虚拟方法,但空间成本通常只支付每个类类型一次。

不管方法是定义在父类还是子类中,它们都会占用与可执行代码相同的内存量。此外,两种情况下参数的处理方式相同,因此在父类或子类中定义方法并没有快或慢。

【讨论】:

    猜你喜欢
    • 2015-03-05
    • 1970-01-01
    • 2011-12-13
    • 2013-03-18
    • 2014-04-30
    • 2020-03-18
    • 1970-01-01
    • 2014-01-26
    • 1970-01-01
    相关资源
    最近更新 更多