Почему 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 возвращает одинаковые значения при каждом запуске?

2

Решение

Coliru кэширует результаты каждого фрагмента, поэтому это ожидаемое поведение.

Вы можете принудительно выполнить повторный запуск, тривиально изменив исходный файл (скажем, добавив больше пробелов или изменив содержимое комментария).

(Источник: Я знаю автора.)

1

Другие решения


По вопросам рекламы [email protected]