C++ 使用boost::chrono计算执行时间

C++ 使用boost::chrono计算执行时间,c++,boost,type-conversion,global-variables,C++,Boost,Type Conversion,Global Variables,我试图计算循环中函数执行时间的总和,但出现了一些问题: #include <boost/chrono.hpp> #include <iostream> boost::chrono::milliseconds sumGlobal; int main() { boost::chrono::high_resolution_clock::time_point t1 ; boost::chrono::high_resolution_clock::time_poi

我试图计算循环中函数执行时间的总和,但出现了一些问题:

#include <boost/chrono.hpp>
#include <iostream>

boost::chrono::milliseconds sumGlobal;

int main() {
    boost::chrono::high_resolution_clock::time_point t1 ;
    boost::chrono::high_resolution_clock::time_point t2 ;

    for (i=0;i<10;i++)
    { 
        t1 = boost::chrono::high_resolution_clock::now();
        f(); //to waste time   
        t2 = boost::chrono::high_resolution_clock::now();
        sumGlobal += (boost::chrono::duration_cast<boost::chrono::milliseconds>(t2-t1)).sumGlobal; 
    }          

    std::cout << sumGlobal << "\n";        
}
#包括
#包括
boost::chrono::global;
int main(){
boost::chrono::高分辨率时钟::时间点t1;
boost::chrono::高分辨率时钟::时间点t2;

for(i=0;i
boost::chrono::millides
不会返回带有
sumGlobal
数据成员的内容。只需将其丢弃即可

sumGlobal += (boost::chrono::duration_cast<boost::chrono::milliseconds>(t2-t1)); 
sumGlobal+=(boost::chrono::duration_cast(t2-t1));

boost::chrono::millizes
不会返回带有
sumGlobal
数据成员的内容。只需将其丢弃即可

sumGlobal += (boost::chrono::duration_cast<boost::chrono::milliseconds>(t2-t1)); 
sumGlobal+=(boost::chrono::duration_cast(t2-t1));