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