草庐IT

c++ - C++ 11中<chrono>头文件的几个问题

我有几个关于新的问题C++11中的header。使用Windows7、VisualStudio2012。看例子http://en.cppreference.com/w/cpp/chrono#include#include#includeintfibonacci(intn){if(nstart,end;start=std::chrono::system_clock::now();intresult=fibonacci(42);end=std::chrono::system_clock::now();intelapsed_seconds=std::chrono::duration_cast

c++ - 从 struct timespec 转换为 std::chrono::?

我有一个structtimespec值流。我想将它们转换为nativeC++11表示,但我完全被chrono打败了。什么是最佳目的​​地以及如何从structtimespec或structtimeval到达那里,因为这是一个简单的转换,微秒对这些计时来说已经足够了?我想我想了解这个,对吧?std::chrono::system_clock::time_point在这种情况下,timespec是来自GPS的UNIX时间。是的,他们正在使用4字节秒(转换后的形式在内存中签名,然后写成无符号),到2038年将被确定。作为引用,我将把它添加到gsf的C++阅读器中

c++ - std::chrono::system_clock::now() 考虑操作系统配置的时区

我正在编写运行在BusyBox嵌入式Linux上的C++代码。我的代码及其库多次调用std::chrono::system_clock::now()以获取当前时间。从现在开始,我的盒子被配置为默认时区(UTC),一切正常,进程运行,结果正常。现在我必须将我的Linux设置为处于不同的时区。然后我通过在框中配置/etc/profile来完成它:exportTZ=UTC+3当我发出date命令和控制台时,我得到了正确的时间,但是我调用std::chrono::system_clock::now()我是仍然得到UTC时间,而不是date命令中显示的时间(正确的时间)。我不想更改我所有的now

Android NDK chrono epoch 不正确(std::chrono::high_resolution_clock)

下面的代码不打印epoch。typedefstd::chrono::high_resolution_clockClock;typedefstd::chrono::millisecondsMilliseconds;autores=std::chrono::duration_cast(Clock::now().time_since_epoch()).count();std::stringstreamss;ss>>>>>>>>>>TimeUtiles::getTimestamp%s",ss.str().c_str());我使用NDKr9d并且选择的NDK工具链版本是4.8!编辑:将std::

c++ - 与 std::chrono::system_clock/std::chrono::high_resolution_clock 的时差

考虑下面这段代码#include#include#includeintmain(){usingstd::chrono::system_clock;usingstd::chrono::milliseconds;usingstd::chrono::nanoseconds;usingstd::chrono::duration_cast;constautoduration=milliseconds(100);constautostart=system_clock::now();std::this_thread::sleep_for(duration);constautostop=system_

c++ - 将 std::chrono::system_clock::time_point 转换为 struct timeval 并返回

我正在编写一个C++代码,它需要访问一个使用timeval作为当前时间表示的旧C库。在旧包中获取我们使用的当前日期/时间:structtimevaldateTime;gettimeofday(&dateTime,NULL);function(dateTime);//Thefunctionwilldoitstask现在我需要使用C++chrono,例如:system_clock::time_pointnow=system_clock::now();structtimevaldateTime;dateTime.tv_sec=????//HelpappreaciatedheredateTim

c++ - 即使使用多核上下文,是否有任何 std::chrono 线程安全保证?

首先,我假设调用std::chrono的任何函数都保证是线程安全的(如果从不同的线程调用,没有未定义的行为或竞争条件或任何危险)。我说的对吗?接下来,例如onwindowsthereisawellknownproblemrelatedtomulti-coreprocessors那力量someimplementationsoftimerelatedsystemstoallowforcingaspecificcoretogetanytimeinformation.我想知道的是:在标准中使用std::chrono,是否有任何保证不会出现think样的问题?或者是实现定义的或者是否有明确的缺乏

c++ - 持久化 std::chrono time_point 实例

持久化std::chronotime_point实例,然后将它们读回另一个相同类型的实例的正确方法是什么?typedefstd::chrono::time_pointtime_point_t;time_point_ttp=std::chrono::high_resolution_clock::now();serializer.write(tp);...time_point_tanother_tp;serializer.read(another_tp);对写入/读取的调用,假设类型time_point_t的实例可以以某种方式转换为字节表示,然后可以写入或读取磁盘或套接字等。Alf建议的可

c++ - std::atomic<std::chrono::high_resolution_clock::time_point> 无法编译

我需要std::chrono::high_resolution_clock::time_point我想从一个线程写入并从另一个线程读取的字段。如果我声明它是我的代码编译没有任何错误。但为了让我的字段在另一个线程中可见,我用std::atomic将其包围像这样std::atomic现在我有以下编译错误:/usr/include/c++/4.8/atomic:167:7:error:function‘std::atomic::atomic()[with_Tp=std::chrono::time_point>>]’defaultedonitsfirstdeclarationwithanexc

c++ - std::chrono::duration::duration() 如何成为 constexpr?

std::chrono::duration的默认构造函数定义如下:constexprduration()=default;(例如,参见cppreference.com或libstdc++源代码。)但是,cppreference.comalsosaysthis关于constexpr构造函数:Aconstexprconstructormustsatisfythefollowingrequirements:...everybaseclassandeverynon-staticmembermustbeinitialized,eitherintheconstructorsinitializati