gpt4 book ai didi

c++ - 访问类成员时的性能

转载 作者:太空宇宙 更新时间:2023-11-04 14:58:32 26 4
gpt4 key购买 nike

我正在写一些性能关键的东西,想知道如果我使用它是否会有所不同:

int test( int a, int b, int c )
{
// Do millions of calculations with a, b, c
}

class myStorage
{
public:
int a, b, c;
};

int test( myStorage values )
{
// Do millions of calculations with values.a, values.b, values.c
}
  • 这基本上会产生相似的代码吗?访问类成员是否有额外的开销?

我确信 C++ 专家很清楚这一点,所以我现在不会尝试为它编写不切实际的基准

最佳答案

编译器可能会将它们均衡。如果它有一点脑子,它会将values.avalues.bvalues.c复制到局部变量或寄存器中,这也是简单情况下发生的情况。

相关格言:

  1. 过早的优化是万恶之源。

  2. 写下它,以便您可以在六个月后的凌晨 1 点阅读它,并且仍然理解您尝试做的事情。

  3. 大多数时候,重要的优化来自重构您的算法,而不是变量访问方式的微小变化。是的,我知道有异常(exception),但这可能不是其中之一。

关于c++ - 访问类成员时的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2867528/

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