Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
maxm
62 / 34 / 8
Регистрация: 17.07.2014
Сообщений: 456
#1

Аналог декоратора Python или ненормальное програмирование - C++

09.08.2016, 15:19. Просмотров 301. Ответов 1
Метки нет (Все метки)

Всем привет.
Часто приходится делать одну и ту же вещь в коде:

C++
1
2
3
4
DWORD time = ::GetTickCount();
bool result = SomeFunc();
while(!bOK && ::GetTickCount() - time < DEFINED_TIMEOUT)
    result = SomeFunc();
Что же тут происходит? Есть некая ф-ция, пусть будет SomeFunc. Мы должны иногда выполнять ее пока не достигнем нужного результата или пока не выйдет время таймаута. Например, ф-ция проверяет, появилось ли окно на рабочем столе, чтобы затем сделать с ним какие то манипуляции.

Собственно сам вопрос. Можно ли написать какой нибудь класс SmartWaiter (или же функцию), которая бы принимала в себя SomeFunc и целое число - TIMEOUT? Фишка в том, что таких функий, как SomeFunc, очень много, и почти все принимают разное число и разные типы параметров. Возможно ли реализовать что то типа универсального таймера, чтобы на вход принимались только указатель на SomeFunc (независимо от кол-ва и типа аргументов) и TIMEUOT, а затем обьект заставлял функию выполняться n раз пока не достигнем результата или же не выйдет наш TIMEOUT?

P.S. Допускаем вариант передачи указателя и параметров, с которыми мы хотим выполнить эту функцию. Тогда постает вопрос, как наилучшим образом их обработать и как собственно прописать такой указатель как аргумент нашего таймера(void*(как вариант?)).
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2016, 15:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Аналог декоратора Python или ненормальное програмирование (C++):

Аналог типа time_t в Си++ или Borland'е - C++ Builder
Как называется аналог типа time_t в Си++ или Borland'е? Мне нужен именно тот тип, который меряет количество секунд (от 1970 года вроде). И...

Edit и UpdateData или его аналог - C++ Builder
Суть: есть Edit и его содержимое должно обновляться автоматически по ходу выполнения работы алгоритма. Надписи типа Edit-&gt;Text = &quot;....&quot;;...

Аналог Hide Folders (Скрытие/блокировка папок или отдельных файлов) - C++ Builder
Ребят, подскажите куда копать. Хочу создать свою программу для скрытия/блокировки папок. Hide Folders это делает как-то средствами...

Нужен аналог функции nanosleep или uSleep, которые есть на Linux, в Windows - Visual C++
Успешно создал программу для работы со звуком, она работает с высокоточным таймером. Используется бесконечный цикл, в нём идёт проверка...

Есть ли какой-нибудь аналог c# using или python with в c++ ? - C++
В C# (using pattern) и python есть специальные конструкции которые позволяют не следить за закрытием файла после окончания блока. using...

Python или C++? - C++
Помогите с выбором! Я уже не полный нуб, знаю (сильно сказано) PHP и разметку (HTML, CSS, SQL). Ориентируюсь на кросс платформку Linux,...

1
nimazzzy
Заблокирован
09.08.2016, 16:06 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
variadic templates
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.08.2016, 16:06
Привет! Вот еще темы с ответами:

Есть ли в С аналог функции explode(или split)? - C++
Есть ли в С аналог или сама функция explode или split, которая позволяет разбить строку на подстроки, беря за разделитель указанный символ...

Аналог процедуры str в Си++ или как реализовать? - C++
Доброго времени суток. Есть строка кода на Паскале: Str(X:Lens,Stroka); Нужно записать аналогичную строку, только в...

PlaySound или аналог для проигрывания двух и более звуков - C++
Добрый день, изучаю C++, сейчас мне нужно, чтобы проигрывался звук, я нашёл такую ф-цию как PlaySound() покопавшись здесь...

Ищу бесплатные IDE, требования: аналог TBitmap или CBitmap - C++
До этого програмил на lazarus'е - всё здорово - например есть класс TBitmap - у него классные штуки - LoadFromFile, LoadFromStream,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru