Встраивать или не встраивать

В последнее время я писал несколько классов; и мне было интересно, является ли это плохой практикой, плохой для производительности, нарушением инкапсуляции или есть что-то еще по своей сути плохое с фактическим определением некоторых из более мелких функций-членов внутри заголовка (я пробовал Google!). Вот пример заголовка, который я написал с большим количеством этого:

class Scheduler {
public:
    typedef std::list<BSubsystem*> SubsystemList;

    // Make sure the pointer to entityManager is zero on init
    // so that we can check if one has been attached in Tick()
    Scheduler() : entityManager(0) { }

    // Attaches a manager to the scheduler - used by Tick()
    void AttachEntityManager( EntityManager &em )
        { entityManager = &em; }

    // Detaches the entityManager from a scheduler.
    void DetachEntityManager()
        { entityManager = 0; }

    // Adds a subsystem to the scheduler; executed on Tick()
    void AddSubsystem( BSubsystem* s )
        { subsystemList.push_back(s); }

    // Removes the subsystem of a type given
    void RemoveSubsystem( const SubsystemTypeID& );

    // Executes all subsystems
    void Tick();

    // Destroys subsystems that are in subsystemList
    virtual ~Scheduler();
private:
    // Holds a list of all subsystems
    SubsystemList subsystemList;

    // Holds the entity manager (if attached)
    EntityManager *entityManager;
};

Итак, есть ли что-то действительно неправильное с такими встроенными функциями, или это приемлемо?

( Кроме того, я не уверен, что это больше подходит для сайта «обзора кода»)

10
задан Seb Holzapfel 1 August 2011 в 07:33
поделиться