Russian Qt Forum
Ноябрь 24, 2024, 00:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 5 6 [7] 8   Вниз
  Печать  
Автор Тема: Частный случай механизма сигнал-слот  (Прочитано 73710 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #90 : Март 29, 2012, 14:25 »

Эх, велосипеды, велосипеды, где ж те времена...
Просто здесь много изучающих, часто рассматриваются типовые, хорошо изученные задачи - вот и создается впечатление что, якобы, все уже давно известно, сделано за нас и.т.п. Но стоит отъехать 2 остановки на тролебусе с сторону реальных задач (или просто копнуть те же типовые задачи чуть глубже) - и иллюзия сразу исчезает, и будут только велосипеды, велосипеды, велосипеды...  Улыбающийся
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #91 : Март 29, 2012, 14:54 »

Цель теории не в том, чтоб учить как решать типовые задачи. А в том, как правильно подходить к решению задачи/проблемы, как мыслить в категориях того языка, на котором пишешь и как грамотно пользоваться инструментарием)
Поэтому в книжках (которые Вы не читаете) так много уделено именно инструменту)
А уже дальше всяким шаблонам, патернам и снова инструментам) 
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
BRE
Гость
« Ответ #92 : Март 29, 2012, 15:01 »

Просто здесь много изучающих, часто рассматриваются типовые, хорошо изученные задачи - вот и создается впечатление что, якобы, все уже давно известно, сделано за нас и.т.п. Но стоит отъехать 2 остановки на тролебусе с сторону реальных задач (или просто копнуть те же типовые задачи чуть глубже) - и иллюзия сразу исчезает, и будут только велосипеды, велосипеды, велосипеды...  Улыбающийся
Да наверное здесь это и не нужно. На этом форуме кроме тебя реальные задачи никто не решает. Всё больше учебные решаем, книжки всякие, статьи читаем - короче страдаем фигней.
Но если, не дай Бог, кому понадобится решить реальную задачу, то мы сразу к тебе. Ну а куда еще, у тебя есть что посоветовать. Одни темы про разные чуто-контейнеры чего стоят.  Улыбающийся
Записан
Bepec
Гость
« Ответ #93 : Март 29, 2012, 15:12 »

Зря говоришь. В каждой решённой теме есть зёрнышко. Если их собрать и посадить, то много чего полезного вырастет.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #94 : Март 29, 2012, 15:17 »

Цель теории не в том, чтоб учить как решать типовые задачи. А в том, как правильно подходить к решению задачи/проблемы, как мыслить в категориях того языка, на котором пишешь и как грамотно пользоваться инструментарием)
Поэтому в книжках (которые Вы не читаете) так много уделено именно инструменту)
А уже дальше всяким шаблонам, патернам и снова инструментам) 
Слова-то хорошие (с демагогией у Вас все отлично). Но ведь не секрет что часто (да чего там - в большинстве случаев) дело сводится к тупенькому запоминанию - и ничему больше. В советской школе это называлось простым словом "списывать".

2BRE "Не вынесла душа поэта"   Улыбающийся Улыбающийся
Кто же виноват что Вы никогда тем не создаете? Вот и остается обсуждать моих "уродцев" Улыбающийся Изложите Ваши проблемы - и, если тема мне будет интересной, то приму участие в обсуждении.
Записан
BRE
Гость
« Ответ #95 : Март 29, 2012, 15:25 »

2BRE "Не вынесла душа поэта"   Улыбающийся Улыбающийся
Кто же виноват что Вы никогда тем не создаете? Вот и остается обсуждать моих "уродцев" Улыбающийся Изложите Ваши проблемы - и, если тема мне будет интересной, то приму участие в обсуждении.
Спасибки, но я как нибудь обойдусь.
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #96 : Март 29, 2012, 16:40 »

Короче выкладываю последнюю версию libssc-5.1.1

Все последующие версии будут написаны на C++11.
Но это будет не раньше чем, я поставлю себе нормальный линукс. дистрибутив.  Крутой
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #97 : Март 30, 2012, 14:40 »

Ещё несколько пост-архитектурных изменений перед переводом на c++11
Версия libssc-5.2.0

Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
BRE
Гость
« Ответ #98 : Март 30, 2012, 15:28 »

Ты релизишься как firefox. Подмигивающий
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #99 : Март 30, 2012, 16:15 »

Ты релизишься как firefox. Подмигивающий
Похоже это болезнь  Смеющийся
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #100 : Апрель 01, 2012, 20:19 »

Первая версия под c++11 зарелизена)
Правда, использовано только то, что поддерживает gcc 4.4

Доморощенный counted_ptr заменён на нормальный std::shared_ptr.
+ использование decltype позволило сократить туеву хучу лишних строчек кода)



Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
Gorthauer
Гость
« Ответ #101 : Апрель 06, 2012, 21:55 »

Видел реализацию сигналов/слотов на variadic template'ах, в результате чего число аргументов может быть произвольным.
Плюс советую посмотреть в шаблонную реализацию сигналов слотов в Qt5.
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #102 : Апрель 06, 2012, 21:59 »

Видел реализацию сигналов/слотов на variadic template'ах, в результате чего число аргументов может быть произвольным.
Плюс советую посмотреть в шаблонную реализацию сигналов слотов в Qt5.
Да, varisdic template это хорошее дело) Тож думал об этом.. А ссылку не дадите, где видели это?
На Qt5 посмотрю, спасибо)
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #103 : Апрель 13, 2012, 12:38 »

Зарелизил версию libssc-cpp11-1.0.3
Так по-мелочи подправил кое-где код..
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
whitecemetery
Гость
« Ответ #104 : Апрель 26, 2012, 11:51 »

Понадобилось тут сигнал-сигнальное соединение. Ожидаемый мной синтаксис не прошел, но так как помню, что библиотека должна его поддерживать, повозился еще некоторое время.
И получившийся вариант меня немного удивил.
Вот пример, того, что мне нужно.

Код
C++ (Qt)
class A
{
public:
   signal<void> TellSmth;
};
 
class B : public SlotObject
{
public:
   signal<void> TellSmth;
 
   B()
   {
        a.TellSmth.connect(&TellSmth);
   }
private:
   A a;
}
 

Прошу прощения за typedef SlotObject, просто исходное название класса мне мало что говорило. : )
Удивление вызвало, что не нужно указывать ни объект получателя(this), ни тип класса слота. Похоже, я не очень понимаю как работают указатели на функции и указатели на функции-члены класса. Всегда был уверен, что они не зависит от типа контекста и никакое приведение одних к другим невозможно.
« Последнее редактирование: Апрель 26, 2012, 11:53 от whitecemetery » Записан
Страниц: 1 ... 5 6 [7] 8   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.095 секунд. Запросов: 23.