gpt4 book ai didi

C++ : Memory overhead due to virtuality?

转载 作者:太空宇宙 更新时间:2023-11-04 15:07:29 31 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
C++ virtual function table memory cost

我刚读到:http://www.parashift.com/c++-faq-lite/virtual-functions.html我想知道由于虚拟性而导致的内存开销是多少。我目前正在为 super 计算机编写优化代码,我必须在可读代码和内存消耗之间找到良好的平衡。

为了理解它是如何工作的,以下类的内存开销是多少:

class AbstractA {/* SOMETHING */};
class AbstractB {/* SOMETHING */};
class A : public AbstractA {/* SOMETHING */};
class B : public AbstractB {/* SOMETHING */};
class A2 : public A {/* SOMETHING */};
class B2 : public B {/* SOMETHING */};
class AbstractAB : public AbstractA, public AbstractB {/* SOMETHING */};
class AbstractAB2 : public AbstractAB {/* SOMETHING */};

假设我每个类有十亿个对象,我不得不为非静态内存消耗而烦恼。那么每种对象类型的价格是多少? (如果 AbstractA 的每个虚方法都会为每个“A”类型的对象创建一个指针,我死了...)

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com