是否可以将函数动态分配给函数指针
Is it possible to assign a function to function pointer dynamically?
是否可以在没有实际函数add()
的情况下以某种方式声明函数并将其分配给main()
中的函数指针func
?
当前代码:
#include <iostream>
int add(int a, int b)
{
return a + b;
}
int main()
{
typedef int (*funcPtr)(int a, int b);
funcPtr func = &add;
std::cout << func(2,3) << std::endl;
}
首选样式:(如果可能(
#include <iostream>
int main()
{
typedef int (*funcPtr)(int a, int b);
funcPtr func = (funcPtr){return a + b}; // is something like this possible?
std::cout << func(2,3) << std::endl;
}
有没有办法像我上一个代码一样将函数动态分配给函数指针?
您可以使用 lambda;如果未捕获任何内容,则可以隐式转换为函数指针。
funcPtr func = [](int a, int b) {return a + b;};
住
相关文章:
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 对具有动态分配的内存和析构函数的类对象的引用
- 调用析构函数以释放动态分配的内存
- 动态分配列表 - 创建一个函数,用于删除所有包含偶数值的元素
- C++ 将抽象类型的动态分配对象传递给函数并存储在向量中
- 如何在析构函数中删除C++中动态分配的数组?
- 动态分配的内存构造函数
- 函数C++中的动态分配
- 取消分配动态分配的字符数组的析构函数
- 将数组动态分配到具有指针参数的函数中
- 使用私有析构函数删除动态分配的对象
- 我无法在函数中动态分配 2D 数组
- 如何使用每个对象的单个构造函数参数动态分配C++对象数组?
- 将动态分配对象传递到 boost::any 构造函数中
- 动态分配时类构造函数中的堆损坏
- 是否可以将函数动态分配给函数指针
- C++ 如何从函数返回动态分配的数组
- 当一个类在构造函数处动态分配自己时,为什么会发生堆栈溢出而不是 std::bad_alloc
- 如何使用参数化构造函数动态分配对象数组
- C++:使用非默认构造函数动态分配结构的成员数组