chrono相关内容
This question关于永远睡眠的答案提到了这一点: std::this_thread::sleep_until( std::chrono::time_point::max()); 和这个: std::this_thread::sleep_for( std::chrono::system_clock::du
..
我有一个使用dat.h库在C++14下工作的函数,但我将我的程序转换为使用C++20,但它不再工作。请问我做错了什么? 我的C++14/dat.h代码如下: #include // latest, installed via vcpkg #include auto StringToUnix(const std::string& sourc
..
我正在编写一些必须处理NTP时间的代码。我决定用std::chrono::duration来表示它们,我希望这会让我的时间数学更容易做。 NTP时间由无符号64位整数表示,从纪元开始的秒数在高32位,小数秒在低32位。划时代的日期是1900年1月1日,但这是一个与我在这里处理的问题不同的问题,我已经知道如何处理它。对于我正在使用的示例,假设纪元为1970年1月1日,以使计算更简单。 持续时
..
给定C++20中的新工具,如何向日期添加某些天数(例如n)? 当我尝试执行此操作时,出现编译时错误: auto d = July/4/2020; auto d2 = d + days{5}; ~ ^ ~~~~~~~ error: invalid operands to binary expression ('std::chrono::year_
..
求几个数字的平均值的公式当然是众所周知的: 此公式可以很容易地计算出chrono::durations: 的平均值 template auto sum(const std::chrono::duration& d0) { return d0; } template
..
我正在尝试将 chrono 库用于计时器和持续时间. 我希望能够有一个 Duration frameStart;(从应用程序开始)和 Duration frameDelta;(帧之间的时间) 我需要能够将 frameDelta 持续时间设为毫秒和浮点秒. 您如何使用新的 c++11 库来做到这一点?我一直在研究它并使用谷歌搜索(信息很少).代码是大量模板化的,需
..
std::system_clock 和 std::steady_clock 有什么区别?(说明不同结果/行为的示例案例会很棒). 如果我的目标是精确测量函数的执行时间(如基准测试),std::system_clock 和 std::steady_clock 之间的最佳选择是什么和 std::high_resolution_clock? 解决方案 来自 N3376: 20.11.
..
让我通过这个测试程序问我的问题: #include #include 使用 std::chrono::nanoseconds ;使用 std::chrono::duration_cast;int main(int argc, char* argv[]){std::cout
..
boost::date_time 和 std::chrono 的互操作性如何? 例如,有没有办法在 boost::posix_time::ptime 和 std::chrono::time_point 之间转换? 我尝试搜索有关此类转换的文档,但找不到任何文档. 解决方案 我在 boost 提交邮件列表中找到了这个:http://lists.boost.org/boost-co
..
我已经创建了一个时间点,但我一直在努力将它打印到终端. #include #include int main(){//设置time_point为当前时间std::chrono::time_point时间点;time_point = std::chrono::system_clo
..
std::chrono 提供多个时钟来测量时间.同时,我猜 cpu 评估时间的唯一方法是计数周期. 问题 1:除了计数周期外,cpu 或 gpu 是否还有其他方法来评估时间? 如果是这样,因为计算机计数周期的方式永远不会像原子钟那样精确,这意味着“秒"(period = std::ratio) 对于计算机而言,实际上可能比实际秒更短或更大,从而导致计算机时钟与 GPS 之间的时间测量的
..
由于 C++11 的文档不足,我遇到了一个小问题. 我想以毫秒、纳秒或秒为单位获得自纪元以来的时间,然后我必须将该值“转换"为另一个分辨率.我可以使用 gettimeofday() 来完成它,但它会很容易,所以我尝试使用 std::chrono 来实现它. 我试过了: std::chrono::time_point现在 =std::chrono::system_clock::now(
..
起初我认为它可以用于性能测量.但说 std::chrono::high_resolution_clock 可能不是稳定(is_steady 可能是 false).也有人说std::chrono::high_resolution_clock 甚至可能是std::chrono::system_clock 的别名,一般不太稳定.所以我不能用这种类型的时钟测量时间间隔,因为随时可能调整时钟,我的测量结果会
..
如何从 std::chrono::time_point 对象中提取年、月、日、时、分、秒和毫秒? 我只看到了如何提取总量的例子,例如duration 中的秒数. 解决方案 您只能从 system_clock::time_point 中提取此信息.这是系统提供的唯一与民用日历有关系的时钟.以下是使用此时钟获取当前时间点的方法: system_clock::time_point no
..
我试图使用 GCC(测试版本 4.5.1、4.6.3、4.8.4): #include #include #include #include 使用 std::chrono::system_clock;int main(){system_clock::time_point now = system_clock::now();std::time_t now_c = sy
..
我在 C++ 中使用 time.h 来测量函数的计时. clock_t t = clock();someFunction();printf("\n所用时间:%.4fs\n", (float)(clock() - t)/CLOCKS_PER_SEC); 但是,我总是将时间设为 0.0000.clock() 和 t 在单独打印时具有相同的值.我想知道是否有办法在 C++ 中精确测量时间(可能以纳秒
..
如何将 std::chrono::time_point 转换为带小数秒的日历日期时间字符串? 例如: "10-10-2012 12:38:40.123456" 解决方案 如果是system_clock,这个类有time_t转换. #include #include #include 使用命名空间 std::chrono;int main(){system
..
我一直在升级一些旧代码,并在可能的情况下尝试更新到 c++11.下面的代码是我用来在我的程序中显示时间和日期的方式 #include #include #include #include const std::string return_current_time_and_date() const{time_t now = time(0);结构 tm tstruct;字符缓冲区[80];tstru
..
如何知道编译器在使用 auto 关键字时推导出的类型? 示例 1:更简单 自动tickTime = 0.001; 这被推导出为 float 还是 double? 示例 2:更复杂(以及我目前的头痛): typedef std::ratio秒;std::chrono::durationtimePerTick2{0.001};auto nextTickTime = std::chro
..
考虑以下代码(LWS): #include #include 内联无效测试(const std::chrono::high_resolution_clock::time_point&第一的,const std::chrono::high_resolution_clock::time_point&第二){std::cout
..