C++秒计数器

C++ second counter

我创建了一个在用户选择后计算秒数的函数。一切正常,但是否可以更智能、更高效地完成呢?因为它看起来很重很慢。有没有解决这个问题的库?或者我们如何绕过它?

这是我的代码:

#include <ctime>
#include <iomanip>
#include <iostream>

using namespace std;

int main() {
    double a,c, x,b;

    int nutid=0;

    cout<<"Please enter a number: ";
    cin>>a;
    x = time(0);
    c = a-1;

    while (true) {
        if (!cin) {
            cout<<"... Error";
            break;
        }
        else {
            b=time(0)-x;

            if(b>nutid){
                cout<<setprecision(11)<<b<<endl;
                nutid = b+c;
            }
        }
    }

    return 0;
}

您可以使用库 <chrono> 来测量时间(自 c++11

示例:

#include <iostream>
#include <chrono>
using namespace std;
using namespace chrono;

int main() {
    auto start = high_resolution_clock::now();

    // your code here

    auto end = high_resolution_clock::now();
    // you can also use 'chrono::microseconds' etc.
    cout << duration_cast<seconds>(end - start).count() << '\n';
}