2016-04-21 3 views
6

Если у меня есть переменнаяC++ 11: приращение time_point одной второй

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

, как я могу определить другую переменную time_point t2 таким образом, что он представляет момент времени точно один второй после из t1?

Нечто вроде auto t2 = t1 + "1s". Что я должен заменить «1s»?

+1

использования подходящая [продолжительность] (http://en.cppreference.com/w/cpp/chrono/duration). –

+2

std :: chrono :: seconds (1) – DAG

ответ

8

Если вы используете C++ 14 (VS-2015, или -std=c++14 с GCC или звоном), то:

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

Если вы используете C++ 11:

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

Если вы не хотите, чтобы сделать копию, но добавьте 1 секунду t1 себя, += также хорошо:

t1 += 1s; 
t1 += seconds{1};