1
)
typedef PQ < int ,vector < base_queue < int > * > , WRR_SCHEDULER < vector < base_queue < int > * > > > MYPQ1;
typedef PQ < int ,vector < base_queue < int > * > , PQ_SCHEDULER < vector < base_queue < int > * > > > MYPQ2;
对比
2 )
typedef WRRPQ < int ,vector < base_queue < int > * > > MYPQ1;
typedef SPQ < int ,vector < base_queue < int > * > > MYPQ2;
1 )是基于策略的实现(模板), 2 )是基于继承的实现
1 )给人的感觉是MYPQ1和MYPQ2是同一个东西,只是配置不同而有所差异
2 )给人的感觉是...不知道,好像是不同的东西,除非提供WRRPQ和SPQ的声明,不然别人是没办法知道WRRPQ和SPQ有共同的父类的。
typedef PQ < int ,vector < base_queue < int > * > , WRR_SCHEDULER < vector < base_queue < int > * > > > MYPQ1;
typedef PQ < int ,vector < base_queue < int > * > , PQ_SCHEDULER < vector < base_queue < int > * > > > MYPQ2;
对比
2 )
typedef WRRPQ < int ,vector < base_queue < int > * > > MYPQ1;
typedef SPQ < int ,vector < base_queue < int > * > > MYPQ2;
1 )是基于策略的实现(模板), 2 )是基于继承的实现
1 )给人的感觉是MYPQ1和MYPQ2是同一个东西,只是配置不同而有所差异
2 )给人的感觉是...不知道,好像是不同的东西,除非提供WRRPQ和SPQ的声明,不然别人是没办法知道WRRPQ和SPQ有共同的父类的。