![](/img/trans.png)
[英]How to parse a date string into a c++11 std::chrono time_point or similar?
[英]C++11 chrono:assigning values to time_point objects
我正在尝试使用chrono来测量某些函数所花费的时间,所以我的代码如下所示:
#include <chrono>
#include <iostream>
using namespace std;
void doSomething()
{
//code goes here
}
int main()
{
chrono::time_point<chrono::system_clock> start,end;
start=chrono::system_clock::now;
doSomething();
end=chrono::system_clock::now;
}
所以,基本上,我正在遵循cppreference的代码示例。
问题是我在start=chrono::system_clock::now
和end=chrono::system_clock::now
都有以下错误
error: no match for 'operator=' (operand types are
'std::chrono::time_point<std::chrono::system_clock,
std::chrono::duration<long long int, std::ratio<1ll, 1000000000ll> > >'
and 'std::chrono::system_clock::time_point()noexcept (true)
{aka std::chrono::time_point<std::chrono::system_clock,
std::chrono::duration<long long int, std::ratio<1ll, 1000000000ll> > >()noexcept (true)}')
我也尝试改变chrono::time_point<chrono::system_clock> start,end;
到chrono::system_clock::time_point start,end;
。 错误几乎相同:
error: no match for 'operator=' (operand types are
'std::chrono::system_clock::time_point
{aka std::chrono::time_point<std::chrono::system_clock,
std::chrono::duration<long long int, std::ratio<1ll, 1000000000ll> > >}'
and 'std::chrono::system_clock::time_point()noexcept (true)
{aka std::chrono::time_point<std::chrono::system_clock,
std::chrono::duration<long long int, std::ratio<1ll, 1000000000ll> > >()noexcept (true)}')
我正在使用Qt 5.1.0(32位)和MinGW 4.8 32位作为编译器。 我还必须通过在我的.pro文件中添加QMAKE_CXXFLAGS+=-std=c++11
来为c ++ 11支持添加编译器标志。
对system_clock::now
使用()
chrono::time_point<chrono::system_clock> start,end;
start=chrono::system_clock::now(); //<-- Fix
doSomething();
end=chrono::system_clock::now(); //<-- Fix
计算经过时间为:
auto duration = end - start;
std::cout << chrono::duration <double, std::milli> (duration).count()
<< " ms" << std::endl;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.