要實現更精準的延時,可以使用高精度計時器來替代普通的延時函數。以下是一個使用C++11中的chrono庫實現更精準延時的示例代碼:
#include <iostream>
#include <chrono>
#include <thread>
void delay(int milliseconds) {
std::this_thread::sleep_for(std::chrono::milliseconds(milliseconds));
}
int main() {
auto start = std::chrono::high_resolution_clock::now();
delay(1000); // 延時1秒
auto end = std::chrono::high_resolution_clock::now();
std::chrono::duration<double> elapsed_seconds = end - start;
std::cout << "精確延時時間: " << elapsed_seconds.count() << " 秒" << std::endl;
return 0;
}
在這個示例中,我們使用std::this_thread::sleep_for
函數來實現延時,其中傳入的參數為std::chrono::milliseconds(milliseconds)
,表示延時的時間間隔為指定的毫秒數。最后通過高精度計時器計算實際延時的準確時間。