0

我想创建一个代码片段,如果你提供输入,它会等待一段时间(比如 3 秒)
......很好
但是如果你没有在 3 秒内提供输入,变量应该获取一些默认值(由我们设置) .

我怎样才能制作这样的片段?

4

1 回答 1

2

也许这段代码有帮助:

#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);
}
于 2014-04-02T18:28:32.190 回答