![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Tiarwe |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 24.8.2011 Репутация: нет Всего: нет |
Приветствую!
Пишу обертку над потоками.
Сейчас при создании потока происходит его запуск. Хочу перенести это в функцию Start(), в таком случае нужно хранить принимаемые аргументы _Fn и _Args. Как это записать и можно ли вообще? |
|||
|
||||
mabrarov |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 12.1.2011 Где: Казань Репутация: 8 Всего: 9 |
Добрый вечер. Неясно, зачем вам это нужно. Если очень (!) нужно, то делайте так, как это делает std::bind/std::function (или используйте их в своей обертке) - в зависимости от того, хотите ли вы чтобы ваш класс Thread был шаблонным (std::bind) или не был шаблонным (std::function). А вообще можно же явно использовать эти 2 прекрасные возможности C++11 (Boost C++ Libraries) в комбинации с std::thread:
Можно, конечно, написать и так (здравствуй, type erasure и C++11):
Это сообщение отредактировал(а) mabrarov - 29.1.2014, 17:43 |
||||||
|
|||||||
Tiarwe |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 24.8.2011 Репутация: нет Всего: нет |
mabrarov, большое спасибо)
|
|||
|
||||
akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
Ну, потоки в С++ туповастеньки и малость эффекитвны. Писать wrapper над толпой долпоиопв вещь рискованная, на многорискованная.
Добавлено через 7 минут и 2 секунды Вообще-то, это уже уход в сторону variadic templates и если тебе охота в cnjhjye va_start. вопрос зачем тебе это надо, козырнуть передаваемой в thread капеллой переменных, или накрыжить всю эту хню -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |