Здравствуйте, Zibir, Вы писали:
Z>Как наиболее красиво (эффективно, правильно) вызвать из статического метода класса динамический метод этого же класса?
А что такое "динамический метод"?
Любите книгу — источник знаний (с) М.Горький
Re[2]: Вызов динамического элемента из статической фукции
Здравствуйте, Bell, Вы писали:
B>Здравствуйте, Zibir, Вы писали:
Z>>Как наиболее красиво (эффективно, правильно) вызвать из статического метода класса динамический метод этого же класса?
B>А что такое "динамический метод"?
Это типа обратное от статического
Re: Вызов динамического элемента из статической фукции
Здравствуйте, Zibir, Вы писали:
Z>Как наиболее красиво (эффективно, правильно) вызвать из статического метода класса динамический метод этого же класса?
Здравствуйте, Were, Вы писали:
W>Здравствуйте, Zibir, Вы писали:
Z>>Как наиболее красиво (эффективно, правильно) вызвать из статического метода класса динамический метод этого же класса?
W>Я так понимаю класс не синглтон )
W>Тогда так:
W>
Здравствуйте, Zibir, Вы писали:
Z>Как наиболее красиво (эффективно, правильно) вызвать из статического метода класса динамический метод этого же класса?
зы: Только будьте точны в терминологии, есть просто функция член (non-static member function) и есть статическая функция член (static member function) класса.
Re[2]: Вызов динамического элемента из статической фукции
Здравствуйте, Анатолий Широков, Вы писали:
АШ>Здравствуйте, Zibir, Вы писали:
Z>>Как наиболее красиво (эффективно, правильно) вызвать из статического метода класса динамический метод этого же класса?
АШ>
АШ>зы: Только будьте точны в терминологии, есть просто функция член (non-static member function) и есть статическая функция член (static member function) класса.
Договорились. Сравнил 2 варианта которые написали Вы и Were. Разница получается в передачи параметра, Вы передаёте адрес, а Were ссылку. Что лучше?
Re[3]: Вызов динамического элемента из статической фукции
Здравствуйте, Zibir, Вы писали:
Z>Здравствуйте, Анатолий Широков, Вы писали:
Z>Договорились. Сравнил 2 варианта которые написали Вы и Were. Разница получается в передачи параметра, Вы передаёте адрес, а Were ссылку. Что лучше?
Только наоборот, я адрес, а он ссылку )
Re[3]: Вызов динамического элемента из статической фукции
Здравствуйте, Zibir, Вы писали: Z>Договорились. Сравнил 2 варианта которые написали Вы и Were. Разница получается в передачи параметра, Вы передаёте адрес, а Were ссылку. Что лучше?
Оба варианта — глупость. Лучше метод-член. Т.к. статический метод, принимающий ссылку или указатель на объект своего класса — это кривая эмуляция метода-члена.
Re[4]: Вызов динамического элемента из статической фукции
Здравствуйте, Mr.Cat, Вы писали:
MC>Здравствуйте, Zibir, Вы писали: Z>>Договорились. Сравнил 2 варианта которые написали Вы и Were. Разница получается в передачи параметра, Вы передаёте адрес, а Were ссылку. Что лучше?
MC>Оба варианта — глупость. Лучше метод-член. Т.к. статический метод, принимающий ссылку или указатель на объект своего класса — это кривая эмуляция метода-члена.
Только глупость не надо говорить. Передайте в функцию создания потока нестатическую функцию член. И обработайте оконное сообщение нестатической функцией членом.
Re[5]: Вызов динамического элемента из статической фукции
Здравствуйте, Анатолий Широков, Вы писали:
АШ>Только глупость не надо говорить. Передайте в функцию создания потока нестатическую функцию член. И обработайте оконное сообщение нестатической функцией членом.
Тогда задавайте вопрос применительно к потокам (кстати, boost::thread вполне нормально создает потоки для членов), оконным сообщениям (тут, кстати, предлагаю подглядеть, как это сделано в каких-нить wxWidgrts и сделать так же) и прочим колбекам. А то сферический член в вакууме получается.
Re: Вызов динамического элемента из статической фукции
От:
Аноним
Дата:
27.06.08 10:52
Оценка:
Здравствуйте, Zibir, Вы писали:
Z>Как наиболее красиво (эффективно, правильно) вызвать из статического метода класса динамический метод этого же класса?
статический метод, так или иначе, но должен получить this класса, у которого нужно вызвать паблик метод. вопрос в том, как этот this передать туда покрасившее.
к примеру, в виндах (да и не только в их), в hwnd окне есть возможность хранить юзеровские данные (SetWindowLong(hwnd, DWL_USER, (LONG)this)). так как окно — это объект ядра (фактически, глобальная переменная), то ее можно получить в любом месте программы, и вытащить из нее пользовательские данные (GetWindowLong). имея адрес объекта (this), статическая функция может вызывать его паблик методы.
иначе, увы, никак.
Re[5]: Вызов динамического элемента из статической фукции
Здравствуйте, Анатолий Широков, Вы писали:
АШ>Только глупость не надо говорить.
Не надо.
АШ>Передайте в функцию создания потока нестатическую функцию член.