我是c++新手,我想实现以下行为:
#include <thread>
#include <chrono>
#include <iostream>
using namespace std;
int main(){
chrono::high_resolution_clock::time_point start_time_point;
while(true){
if(statement_1){
// check whether start_time_point is falsy
if(...) start_time_point = chrono::high_resolution_clock::now();
auto current_time_point = chrono::high_resolution_clock::now();
if(chrono::duration_cast<std::chrono::seconds>(current_time_point - start_time_point).count() > 5) {
// do something
}
}
if(statement_2){
// assign some falsy value to start_time_point
// so that next time the first if block is entered a new time point is assigned to start_time_point
}
}
}
我习惯了javascript,所以在JS中,我只会在第二个if块中将null
分配给start_time_point
,但在c++中则不同。我该如何实现上述行为?
我习惯了javascript,所以在JS中我只会分配null给start_time_point在第二个if块中,但在c++中是不同的。我该如何实现上述行为?
chrono::time_point
有min()
成员,返回可能最低的时间点。它不完全相同,但可以使用类似于javascript中的空值。
也许
start_time_point = start_time_point.min();