В настоящее время я опробую несколько новых функций C ++ 0x, а именно std :: function и std :: bind.Эти две функции кажутся достаточно подходящими для системы делегатов событий для C ++, которая работает как в C♯.Я уже пытался создать что-то вроде делегатов, но хаки, которые мне понадобились бы для указателей на функции-члены, были для меня многим…
Во время моих тестов я заметил, что std :: bind копирует каждый объектВы связываете.Хотя это, безусловно, повышает безопасность - нельзя удалить все еще зарегистрированный обработчик событий :) - это также проблема с объектами с состоянием.Есть ли способ деактивировать копирование - или, по крайней мере, способ снова получить инкапсулированный объект из std :: function?
PS: Есть ли ссылка на функции, которыебудет включен в C ++ 0x (возможно, в C ++ 11!). В конце концов, это основные части TR1 и несколько дополнений ...
Я попробовал cppreference.org, но они все еще на ранней стадии.На стадии документирования cplusplus.com, с другой стороны, даже не начал прикрывать C ++ 0x.