0xd34df00d 22.05.2011 14:23 Azoth_primary

C++ такое говно.
Вот есть необходимость дергать коллбек по приходу некоторых данных от сервера. Сигнал не подходит, потому что слушателей дохуища, поэтому делать диспетчеризацию, кого именно интересуют пришедшие данные, лучше на стороне получателя сообщения от сервера. В общем, написал я уж было QHash из id → boost::function, как вдруг дошло, что это полный пиздец: boost::function получается как boost::bind указателя на класс к мембер-функции. Поэтому если класс убьется до того, как от сервера придут данные, то это дело нехило так распидарасит, и даже нет способа словить исключение по обращению к null-ссылке, как в манагед-языках, например, потому что указатель будет не-null, а просто dangling. И без костылей типа дерегистрации у диспетчера в деструкторе объекта не обойдешься.
С++ такое говно.

1. Crazy_Owl 22.05.2011 14:26 1515631925130674230291206

ПЛЮСОБЛЯДИ СОСНУЛИ еще в ОП-посте. Мое сердце радуется.

Do you really want to delete ?