Название: ссылки на методы в качестве параметров шаблна Отправлено: Eugene Efremov от Сентябрь 01, 2008, 23:28 Дано:
Код: template<class type, void (type::*fun)()> class caller Вопрос: можно ли переписать это дело так, чтобы вызов метода происходил напрямую, без использования указателей на члены: ptr->fun() ? Думается мне, что нельзя, во всяком случае, напрямую написать что-нибудь вроде template<class type, void (type::fun)()> или template<class type, void (type::&fun)()> не получится... Но вдруг?.. Название: Re: ссылки на методы в качестве параметров шаблна Отправлено: Tonal от Сентябрь 02, 2008, 08:04 В чистом С++ нельзя. А в диалектах есть немного: __closure в багланде и extern в gcc.
В новом стандарте будут лямбды и замыкания - они должны решить эту проблему. :) Ну а если не терпится - есть Boost.Bind и Boost.Function, чтобы не изобретать великов. :) |