marcolo2307 Temat założony przez niniejszego użytkownika |
Wskaźnik na metodę nieznanego obiektu » 2016-02-24 16:04:47 Cześć! Chciałbym stworzyć funkcję, która może przyjmować funkcje i metody jako argumenty. Potrafię przyjąć funkcję, ale nie wiem jak stworzyć wskaźnik na metodę obiektu, którego nazwy nie znam. Chodzi mi o taki efekt, jaki jest w std::thread. Mogę tam podać albo funkcję, albo metodę i obiekt. template < class Fn, class...Args > explicit thread( Fn && fn, Args &&...args ); Tak wygląda konstruktor std::thread, ale nie rozumiem fragmentów "class... Args" i "Args&&... args". W dodatku chciałbym użyć tej funkcji w DLL'ce, gdzie korzystam z extern "C", tak więc nie mogę tam użyć template. Proszę o jakiś przykład i wyjaśnienie konstruktora std::thread. |
|
pekfos |
» 2016-02-24 16:24:37 |
|
marcolo2307 Temat założony przez niniejszego użytkownika |
» 2016-02-24 16:31:55 Wciąż nie rozumiem :/ |
|
j23 |
» 2016-02-24 18:26:50 (...) ale nie rozumiem fragmentów "class... Args" i "Args&&... args". |
Poczytaj sobie o szablonach wariadycznych. |
|
marcolo2307 Temat założony przez niniejszego użytkownika |
» 2016-02-24 19:22:39 Dzięki j23, już rozumiem o co chodzi. Ale z tego chyba wynika, że nie mogę stworzyć czegoś takiego jak std::thread w DLL, gdzie nie ma szablonów, prawda? |
|
j23 |
» 2016-02-24 20:08:38 W takiej formie, jak jest w std::thread, nie da rady. Możesz spróbować użyć obiektów funkcyjnych.
PS. do czego to ma być? |
|
pekfos |
» 2016-02-24 20:10:22 Ale z tego chyba wynika, że nie mogę stworzyć czegoś takiego jak std::thread w DLL, gdzie nie ma szablonów, prawda? |
W dodatku chciałbym użyć tej funkcji w DLL'ce |
Chcesz tego użyć w DLL, czy to eksportować z DLL? |
|
marcolo2307 Temat założony przez niniejszego użytkownika |
» 2016-02-24 21:00:22 Eksportować. Chciałem zrobić menu, do którego można dodawać przyciski na zasadzie addButton(nazwa, funkcja/metoda). |
|
« 1 » 2 |