C++ 为什么coliru为chrono::system_clock::now()返回相同的值?

C++ 为什么coliru为chrono::system_clock::now()返回相同的值?,c++,c++11,chrono,coliru,C++,C++11,Chrono,Coliru,在coliru上测试其他人的代码时,我注意到std::chrono::system\u clock::now().time\u since\u epoch()在多次运行时返回相同的值。我用g++和clang++测试了以下代码 #包括 #包括 int main() { 自动种子=标准::时钟::系统时钟::现在(); Coliru缓存每个片段的结果,因此这是预期的行为 您可以通过简单地更改源文件(例如,添加更多空格或更改注释内容)来强制重新运行 (来源:我认识作者。)如果您在每次运行中稍微编辑代码

在coliru上测试其他人的代码时,我注意到
std::chrono::system\u clock::now().time\u since\u epoch()
在多次运行时返回相同的值。我用g++和clang++测试了以下代码

#包括
#包括
int main()
{
自动种子=标准::时钟::系统时钟::现在();

Coliru缓存每个片段的结果,因此这是预期的行为

您可以通过简单地更改源文件(例如,添加更多空格或更改注释内容)来强制重新运行


来源:我认识作者。)

如果您在每次运行中稍微编辑代码,例如添加空白,则每次运行的结果都会有所不同run@911好的,有趣。奇怪。所以实现与
系统时钟
无关。我的问题仍然存在。或者更广泛。colirus版本的
chrono
不可靠吗?我认为如果没有更改,会返回旧结果要编写代码。@911知道了。我在Firefox中打开了一个私有窗口,复制并粘贴了代码,得到了一个不同的编号。但是,如果在第2次运行时添加空格,在第3次运行时删除相同的空格,则结果与第1次运行时的结果相同。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;
}