gpt4 book ai didi

C:避免频繁类型转换的高性能临时变量

转载 作者:太空宇宙 更新时间:2023-11-04 00:48:43 25 4
gpt4 key购买 nike

((My_LengthilyNamedClass *)this)->someMember

...我已经厌倦了这些出现在我的代码库中,甚至多次出现在同一个函数中。

在 C 中处理此类事情的适当方法是什么?我知道将其复制到具有较短名称的正确类型的堆栈/自动变量是避免强制转换的一种方法,但我认为这会导致额外的、可能不必要的堆栈分配。

是否可以在单个函数中使用 define 来使这更容易? define 是要走的路吗?由于这是实时处理框架的代码,而且这些东西无处不在,我希望坚持使用性能最高的代码。

最佳答案

编译器非常擅长优化。我认为您不会有任何问题:

My_LengthilyNamedClass *const ptr = this;

如果你真的很偏执,你可以使用宏:

#define THIS ((My_LengthilyNamedClass *)this)

THIS->someMember = 5;

#undef THIS

关于C:避免频繁类型转换的高性能临时变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27534784/

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