繁体   English   中英

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

[英]C++11: Table of Function Pointers, Lambdas

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

到目前为止,Lambda看起来可以提供完美的替代品,但我仍然希望支持香草函数指针。 这个关于lambdas的教程显示了一个示例,您可以在其中对lambdas和函数指针进行相同的处理,但是我想知道是否可以存储函数指针和lambda的混合数组,以便也可以将它们存储在同一位置。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM