c++ - 我可以在构造函数参数中定义要在函数指针中使用的函数吗

标签 c++ function pointers

我正在尝试创建一个具有四个功能(激活、停用、选择、取消选择)的按钮类型系统,并且我将这四个功能作为功能指针。

我想知道是否有可能在构造函数中使用这些参数,然后能够在构造函数中动态定义函数。

类似于:

Button({(if a == 1) a++},{(if a == 2) a--}) 

等等

如果可能的话,我真的不知道这会被称为什么,所以很难准确地搜索我正在寻找的内容。

谢谢

最佳答案

这称为 lambda 表达式。在 C++11 中你可以使用这个:

Button([](int&a){if (a == 1) a++;},[](int&a){if (a == 2) a--;}) 

关于c++ - 我可以在构造函数参数中定义要在函数指针中使用的函数吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20972867/

相关文章:

c++ - 计算 View 偏移以在鼠标光标的位置放大

c - 为什么这个 C 函数什么都不做?

c++ - 结构数组的内存分配错误

c - 如何将 char* 转换为 char[]

c++ - 参数中没有指针的函数指针

c++ - 解释这个宏

c++ - Qt 图表和数据可视化小部件

c++ - 可以用一个重载的运算符来实现另一个运算符重载吗?

PHP:如何将变量添加到函数名称?

c - 为什么宏和同名函数只有在函数定义之后定义宏时才有效?