gpt4 book ai didi

c++ - 函数指针在 C++ 中返回另一个具有局部性的函数指针

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

考虑到一个指向一个函数的指针返回另一个指向另一个函数的指针这一事实是 C 中用来引入一些运行时多态性/回调的机制,在 C++ 中实现它的等效方法是什么同时提高局部性和降低成本指针和间接寻址 ?

例如this syntactic sugar可以提供帮助,但我对此并不真正感兴趣,尽管这是一种以 C++ 方式而不是更像 C 风格的 typedef 做事的好方法,但我更感兴趣的是在尝试时改进局部性减少运行时显式指针的使用。

最佳答案

人们在 C 中使用函数指针来模拟多态性的真正原因不是性能,而是 C 既不支持真正的多态性也不支持模板这一事实。这是您在 C++ 中的两种选择。 this thread 中对所有三种方法进行了比较.

请注意,即使调用函数指针不需要像虚函数调用那样进行额外的 vtable 查找,调用虚函数和函数指针都会遇到相同的主要性能问题:两种情况下的分支预测都不可靠,您往往以更多的管道冲洗结束。

关于c++ - 函数指针在 C++ 中返回另一个具有局部性的函数指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20115226/

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