gpt4 book ai didi

C++11:函数指针表、Lambdas

转载 作者:行者123 更新时间:2023-11-30 01:54:55 24 4
gpt4 key购买 nike

我目前正在为处理器开发一个简单而抽象的模拟器,我正在使用一个表将机器代码操作码转换为操作。目前,该表包含指向委托(delegate)函数的指针(由外部库提供),这是我当时(在 C++11 之前)使调用子类实例的成员函数成为可能的唯一选择。

到目前为止,Lambdas 看起来可以提供完美的替代品,但我仍然希望支持普通函数指针。本 lambda 教程展示了一个示例,您可以在其中以相同方式处理 lambda 和函数指针,但我想知道是否可以存储函数指针和 lambda 的混合数组,以便我也可以将它们存储在同一个地方。

最佳答案

std::function是一种对所有可调用对象进行类型删除的机制。

您可以拥有一个 std::function 集合,并将具有该签名的函数指针放在具有该签名的 lambda 旁边。与直接使用函数指针相比​​,会涉及一些开销。有趣的是,规范未指定 lambda 的类型,因此不能直接写下来,但它始终可以放在 std::function 包装器中。

关于C++11:函数指针表、Lambdas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21339038/

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