我想学习如何制作紧凑型开关,告诉我是否操作正确或可以简化它?
auto _time = 5s;
bool save_time;
auto fs_time = steady_clock::now();
for(;;) {
auto now_time = steady_clock::now();
if (duration_cast<seconds>(now_time - fs_time) >= _time) {
save_time = true;
}
else {
save_time = false;
}
// CODE ....
if(save_time) {
// CODE ....
}
if(save_time) {
// CODE 2 ....
}
}
我这样做是为了避免重复写同一件事。
if (duration_cast<seconds>(now_time - fs_time) >= _time) {}
当它不断检查代码时,这可能会使代码变慢。
最佳答案
紧凑的意思是一行?
save_time = (duration_cast<std::chrono::seconds>(now_time - fs_time) >= _time) ? true : false;
或更紧凑,如Default所建议:
save_time = (duration_cast<std::chrono::seconds>(now_time - fs_time) >= _time);
关于使用的使用,请看以下问题:Why is "using namespace std;" considered bad practice?
关于c++ - 如何转换为真与假?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60785882/