图4示例说明了新实现下如何使用一个定时器。很显然,我们通过模板将一些潜在问题通过内部化的方式给规避了。
class connect_timeout_callback_t: public timer_callback_t <connect_timeout_callback_t, void *> { void handle (timer_t <connect_timeout_callback_t, void *> &_timer, void *_arg) { // do something here } }; void foo () { timer_t <connect_timeout_callback_t, void *> *p_timer = new timer_t < connect_timeout_callback_t, void *> (100, 0); }图4