А вообще в зависимости от того какие либы ты используешь можно (и нужно) использовать таймеры из них (они есть и в glib, и в Qt).
Вместо указателей на функции можно использовать sigc++ (тогда можно будет использовать и методы классов с привязкой к конкретному объекту) или boost::signal.