gpt4 book ai didi

c++ - 成员函数中使用的预分配变量作为成员字段是否可以优化性能? (C++)

转载 作者:行者123 更新时间:2023-12-02 09:55:27 24 4
gpt4 key购买 nike

假设我已经定义了一个类

class myclass{
private:
/* some fields */
public:
void memberfun{
int someint;
double somedouble;
}
}

我的类有一个成员函数,我需要在其中声明一些变量。我需要多次调用这个成员函数(我需要它来进行蒙特卡罗模拟)。由于我将模拟非常大的系统,因此我对优化性能很感兴趣。

如果我将这些需要的变量预先分配为公共(public)成员字段,这样我只需要访问它们并覆盖它们,而不是每次调用我的成员函数时分配内存,然后一旦超出范围就删除,这会导致性能提升?
class myclass{
private:
/* some fields */
public:
int someint;
double somedouble;
void memberfun{
someint = 1;
somedouble = 2.0;
}
}

最佳答案

关于性能,正如大多数人会告诉你的那样:分析器就是你的答案,而这种思路是过早的优化。

但毫无疑问,您会发现本地 POD 堆栈变量(分配开销为 0)比访问成员变量执行得更好,成员变量将通过 this 访问。指针。

关于c++ - 成员函数中使用的预分配变量作为成员字段是否可以优化性能? (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60523137/

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