Я хочу создать фрагмент кода, который ждет некоторое время (скажем, 3 секунды), если вы дадите
ввод …. штраф
Но если вы не дали ввод в течение 3 секунд, переменная должна получить какое-то значение по умолчанию (установленное нами).
Как я могу сделать такой фрагмент?
Может быть, этот код поможет:
#include <iostream>
#include <thread>
#include <chrono>
int getVal(int defaultValue)
{
int val=0;
std::thread t1([&](){
std::cin>>val;
});
std::this_thread::sleep_for(std::chrono::seconds(3));
t1.detach();
if(val==0)
val=defaultValue;
return val;
}
int main()
{
std::cout<<getVal(123);
}
Других решений пока нет …