使用仿函数控制对象:效率,模块化?

时间:2014-03-10 16:41:46

标签: c++ encapsulation

晚上好,

请考虑以下代码:

class Controlled;

//============================================================================

class Controller {
public:
    explicit    Controller( Controlled* c ) : mControlled( c ) { }
    void        Update( const Time dt ) { /* do stuff */ }

    template<class T>
    void        Apply( T fn );

private:
    Controlled* mControlled;
};

template<class T>
void EntityController::Apply( T fn ) {
    fn( mControlled );
}

//============================================================================

class ControlledUpdate_f {
public:
    ControlledUpdate_f( const Time dt ) : mTime( dt ) { }
    void operator()( Controlled* c ) { /* do stuff */ }
private:
    Time mTime;
};

在两个Update()函数中,控制器类的一部分和效率更高的仿函数?多少钱? 其次,仿函数系统比其他系统更模块化吗?我可以看到它使用脚本引擎做得很好。

感谢您的时间。如果问题有明显的答案,我会提前道歉。

0 个答案:

没有答案