C++ 计时器实现

17 Mar 2025 | 4 分钟阅读

一个 C++ 计时器 是一种用于测量时间间隔、跟踪操作持续时间或在程序中创建延迟的机制。计时器可用于各种目的,例如实现基于时间的功能、控制动画、测量算法执行时间以及按特定间隔管理任务。

示例

让我们看一个程序来演示 C++ 中的 计时器

输出

Timer implementation in C++

说明

包含语句

  • 诸如 “iomanip” 之类的头文件用于格式化输出的操纵器。
  • iostream 用于包含输入和输出流操作。
  • cstdlib 头文件 包含涉及内存分配和随机数的函数。
  • h 头文件用于 POSIX 操作系统 API。它包含 sleep() 函数。

timerDisplay() 函数

  • 此函数用于在控制台上显示当前时间。
  • 在此函数中,我们使用 system("cls") 语句,它用于清除控制台。在打印当前语句之前,它将清除控制台并打印新语句。
  • 当前的小时、分钟和秒使用 cout 显示

timerFunction 函数

此函数包含主程序代码,用于实现计时器功能。它包含一个 无限循环,一个 while 循环,它不断运行以更新计时器。它调用另一个名为 timerDisplay() 的函数,该函数打印更新的时间。之后,程序使用函数 sleep(1) 暂停一秒,然后秒数递增,如果秒数达到 60,则重置为 0,分钟数递增。类似的逻辑应用于分钟和小时。

Main() 函数

此函数通过调用 timerFunction() 初始化计时器。程序将无限期地运行,在控制台中显示计时器,直到手动中断。

示例

让我们看另一个程序来演示 C++ 中的 计时器

输出

Timer implementation in C++

说明

此程序也实现了 C++ 计时器。现在,我们来看一下上述程序的解释。此函数包含 3 个变量:小时、分钟和秒,它们分别表示计时器中的小时数、分钟数和秒数。

程序中有两个函数:timerDisplay 和 main 函数。

timerDisplay 函数

此函数接受 3 个参数,其返回类型为 void。该函数负责以 HH: MM: SS 格式显示当前时间。它使用 setw(2)setfill('0') 确保小时、分钟和秒在小于 10 时显示前导零。

main 函数

其返回类型为 int。在这里,小时、分钟和秒都初始化为零。它包含一个 while 循环,其中时间递增,并且它包含一个 sleep 函数,该函数使用 chrone 库 暂停程序一秒钟。如果秒数达到 60,则重置为 0,分钟数递增。如果分钟数达到 60,则重置为 0,小时数递增。Display 函数 调用 timerDisplay 函数以 HH: MM: SS 格式显示当前时间。

结论

总而言之,所呈现的 C++ 计时器实现说明了两种不同的测量时间间隔的方法。第一种方法利用系统调用和操作系统函数,例如 system("cls")sleep(1) 来创建简单的计时器,显示小时、分钟和秒。这种方法提供了对时间保持和控制台操作的基本理解。

第二种方法采用 C++ chrono 库,提供更精确和优雅的解决方案。利用 std::chrono 进行时间操作和 this_thread::sleep_for(chrono::seconds(1)) 进行延迟,此方法演示了现代 C++ 技术,用于计时器实现,提高了准确性和可读性。