考虑下面的代码片段:
#include <chrono>
#include <cassert>
int main()
{
auto result1 = std::chrono::duration_cast<std::chrono::seconds>(std::chrono::high_resolution_clock::now().time_since_epoch());
auto result2 = std::chrono::duration_cast<std::chrono::seconds>(std::chrono::system_clock::now().time_since_epoch());
assert((result2.count() - result1.count()) < 10);
}
我期望两个值之间的差异应该是最小的(理想情况下少于一秒)。但是在使用VS2015时,这个计数的差异是以亿计秒为单位的。这怎么可能呢?
std::chrono:: duration_cast<std::chrono::seconds>(your-time)
。 - Shakiba Moshirigcc 6.2.0
时没有错误,两者完全相同。 - Shakiba Moshiri