@ hop5 и @RnMss предложили использовать C ++ 11 lambdas, но если вы имеете дело с указателями, вы можете использовать их напрямую:
#include
#include
class CFoo {
public:
int m_i = 0;
void bar() {
++m_i;
}
};
int main() {
CFoo foo;
std::thread t1(&CFoo::bar, &foo);
t1.join();
std::thread t2(&CFoo::bar, &foo);
t2.join();
std::cout << foo.m_i << std::endl;
return 0;
}
выходы
2
Переписанный образец из этого ответа был бы тогда:
#include
#include
class Wrapper {
public:
void member1() {
std::cout << "i am member1" << std::endl;
}
void member2(const char *arg1, unsigned arg2) {
std::cout << "i am member2 and my first arg is (" << arg1 << ") and second arg is (" << arg2 << ")" << std::endl;
}
std::thread member1Thread() {
return std::thread(&Wrapper::member1, this);
}
std::thread member2Thread(const char *arg1, unsigned arg2) {
return std::thread(&Wrapper::member2, this, arg1, arg2);
}
};
int main() {
Wrapper *w = new Wrapper();
std::thread tw1 = w->member1Thread();
tw1.join();
std::thread tw2 = w->member2Thread("hello", 100);
tw2.join();
return 0;
}
Установите тайм-аут, когда мышь перемещена одна минута в будущее, и если мышь перемещена, очистите тайм-аут:
var timeout;
document.onmousemove = function(){
clearTimeout(timeout);
timeout = setTimeout(function(){alert("move your mouse");}, 60000);
}
Разве нет ли способа установить таймер, чтобы начать увеличивать после каждого события движения мыши?
Если это добирается до минуты, затем открываются окно сообщения, но каждый раз мышь перемещается, таймер сбрасывается.
Используйте таймер, который сбрасывает его значение на событии mouseMove. Если таймер достигает, 1 минута-> Делают что-то.
Больше информации о таймере здесь http://www.w3schools.com/js/js_timing.asp
И больше информации о ловле событий от нажатия мыши здесь http://www.quirksmode.org/js/events_mouse.html
Да, у Вас есть onmousemove событие в JavaScript, так для достижения того, что Вам нужны Вы, просто должны сделать, кодируют что-то вроде этого:
startTimer();
element.onmousemove = stopTimer(); //this stops and resets the timer
Можно использовать его на теге основного текста документа, например.
ОБНОВЛЕНИЕ: @Marius достиг лучшего примера, чем этот.
Можно использовать onmousemove событие. В нем, clearTimeout (), и setTimeout (your_warning, 1 минута).
Вы могли использовать этот сценарий/отрывок, чтобы обнаружить положение указателя мыши и "помнить" это. Затем используйте таймер "setTimeout (...)", чтобы проверять положение скажем, каждую секунду и помнить то время.
Если бы больше чем одна минута передала, и положение не изменилось, то Вы могли бы предупредить пользователя.