小编Abh*_*sak的帖子

如何在C++中使用std :: function访问Functor的成员函数?

我有一个C++类,它也是一个仿函数,还包含另一个成员函数.函数的返回值取决于x和alpha.

class A {
    A(double x) : x(x) { }
    /* snip */
    double operator() (double x);
    double derivative(double x);
    double alpha = 1.0;
}
Run Code Online (Sandbox Code Playgroud)

我想访问这两个并将它们存储在另一个类中的函数对象中,如下所示:

class B {
    /* snip */
    function<double(double)> f;
    function<double(double)> d;
}
Run Code Online (Sandbox Code Playgroud)

我想在B的构造函数中初始化f和d.我想以下可以初始化f

this->f = A(1.0);
Run Code Online (Sandbox Code Playgroud)

要么

A a(1.0);
this->f = a;
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何实现d的相同初始化?我正在使用g ++ 4.8.1(C++ 11语法)

c++ function-pointers functor c++11

1
推荐指数
1
解决办法
515
查看次数

标签 统计

c++ ×1

c++11 ×1

function-pointers ×1

functor ×1