gpt4 book ai didi

c++ - 在 C++ 中调用方法的更快方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:26:50 24 4
gpt4 key购买 nike

快速提问,如果听起来很幼稚,我深表歉意。c++中什么更快。像这样的代码:

ProgramsManager::CurrentProgram->Uniforms->Set(n1);
ProgramsManager::CurrentProgram->Uniforms->Set(n2);
ProgramsManager::CurrentProgram->Uniforms->Set(n3);
ProgramsManager::CurrentProgram->Uniforms->Set(...);

还是这个?

Uniforms* u = ProgramsManager::CurrentProgram->Uniforms;
u->Set(n1);
u->Set(n2);
u->Set(n3);
u->Set(...);

我知道第二段代码在解释型语言中速度更快,但我觉得它在编译型语言中没有区别。我对吗?提前谢谢你

最佳答案

第二个可能更快,但不会快很多。

它可能更快的原因是,如果编译器无法向自己证明 ProgramsManager::CurrentProgram->Uniforms 可以通过调用 ...->Set 。如果不能证明这一点,它将不得不为每一行重新计算表达式 ProgramsManager::CurrentProgram->Uniforms

但是,现代 CPU 通常在处理这类事情时速度相当快,而且编译器也越来越好。

关于c++ - 在 C++ 中调用方法的更快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33453639/

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