Почему coliru возвращает те же значения для chrono::system_clock::now(). Time_since_epoch()?
При тестировании чужого кода на coliru я заметил, что std::chrono::system_clock::now().time_since_epoch()
возвращает одинаковые значения при нескольких прогонах. Я проверял следующий код с g ++ и clang ++ на coliru.
#include <iostream>
#include <chrono>
int main()
{
auto seed = std::chrono::system_clock::now().time_since_epoch().count();
std::cout << seed << "\n";
std::cout << std::chrono::system_clock::now().time_since_epoch().count() << "\n";
return 0;
}
Выход:
g ++ -std = C++ 11 -O2 -Wall -pedantic -pthread main.cpp &&./a.out
1433249917642594133
1433249917642674289
Он работает, как ожидалось, на ideone и, очевидно, на моем компьютере.
Кто-нибудь знает, почему Coliru возвращает одинаковые значения при каждом запуске?
1 ответ
Решение
Coliru кэширует результаты каждого фрагмента, поэтому это ожидаемое поведение.
Вы можете принудительно выполнить повторный запуск, тривиально изменив исходный файл (скажем, добавив больше пробелов или изменив содержимое комментария).
(Источник: я знаю автора.)