Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
63 / 35 / 25
Регистрация: 17.07.2014
Сообщений: 457
1

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

09.08.2016, 15:19. Показов 814. Ответов 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

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.08.2016, 15:19
Ответы с готовыми решениями:

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

Ввод значений из строки или аналог cin >> x в Python
Имеется: Задана последовательность из N целых чисел. Определите, сколько элементов этой...

Аналог grep -b на python
Всем привет.Столкнулся с такой проблемой.Есть функция def grepA(word,file,num=0): with...

Есть ли аналог атрибутам из C# в Python?
Есть ли аналог атрибутам из C# в Python? Пример атрибутов: using System.ComponentModel; using...

1
Заблокирован
09.08.2016, 16:06 2
variadic templates
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.08.2016, 16:06

Что проще изучить: програмирование под Android или iOs
Есть базовые знания Java и C#. Что проще?

Аналог pack/unpuck из Python и PHP
Чем в C++ можно распаковывать бинарные данные в int/short/double? В питоне и пхп для этого есть...

Аналог Steam Desktop Authenticator на Python
Имеется программа: https://github.com/Jessecar96/SteamDesktopAuthenticator Заинтересовало сделать...

Что лучше учить Python 2 или Python 3?
хочу начать учить питон но полазив в нете, частенько попадалась информация что вроде как 2 будет...

Аналог Python-функции OS.System(cmd) на PascalABC.NET
Подскажите как реализовать на PascalABC.NET аналог функции на Python? import os os.system(&quot;&quot;);...

Ненормальное разрешение экрана
Сабж. Видеокарта: ATI Mobility Radeon HD 4500 Series Драйвера установлены. Стояла вин 7, обновил...


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

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

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