2016-04-21 22 views
6

Nếu tôi có một biếnC++ 11: increment time_point bởi một giây

std::chrono::steady_clock::time_point t1 = std::chrono::steady_clock::now(); 

, làm thế nào tôi có thể xác định một biến time_point t2 như vậy mà nó đại diện cho thời điểm chính xác một giây sau của t1?

Giống như auto t2 = t1 + "1s". Tôi nên thay thế "1s" bằng gì?

+1

Sử dụng một [thời lượng] phù hợp (http://en.cppreference.com/w/cpp/chrono/duration). –

+2

std :: chrono :: giây (1) – DAG

Trả lời

8

Nếu bạn đang sử dụng C++ 14 (VS-2015, hoặc -std=c++14 với gcc hoặc kêu vang), sau đó:

using namespace std::chrono_literals; 
auto t2 = t1 + 1s; 

Nếu bạn đang sử dụng C++ 11:

using namespace std::chrono; 
auto t2 = t1 + seconds{1}; 

Nếu bạn không muốn sao chép, nhưng hãy thêm 1 giây vào số t1 chính nó, += cũng ok:

t1 += 1s; 
t1 += seconds{1}; 
Các vấn đề liên quan