gpt4 book ai didi

c++ - 在另一个类中定义复杂(大型)类是否有任何开销?

转载 作者:行者123 更新时间:2023-11-30 01:22:16 25 4
gpt4 key购买 nike

为了明确我的问题,我举一个简单的例子:

class Foo {
public:
class Bar {
int garbage[1000000];
};
void playWithGarbage() {
//whatever...
}
}

现在,如果我生成大量 Foo 实例并通过值或引用传递它们。会有任何重大开销吗?我测试了大小,没问题:sizeof(Foo) 返回 1

最佳答案

Foo 类型的对象不会有开销。 Foo 就像一个包含 Bar 的命名空间。 Foo::Bar 对象的存在独立于 Foo 对象的存在。但是,如果 Foo 有一个 Bar 成员,那么 Foo 类型的对象就会有 Bar 类型的子对象,因此尺寸增大。

关于c++ - 在另一个类中定义复杂(大型)类是否有任何开销?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16676064/

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