为了测量函数的执行时间,我可以同时使用两者。但是使用 <chrono>
有什么区别呢?和 <ctime>
?我应该更喜欢一个而不是另一个吗?
最佳答案
ctime
是一个 C 风格的头文件,它很旧,类型不安全并且不如 chrono
准确。 chrono
是 C++ 中的首选选项;它是一个当代的 C++ 头文件,它是类型安全的,在我们的硬件允许的情况下是准确的,它具有扩展的功能,更重要的是,它遵循 C++(而不是 C)逻辑,因此某些事情会更自然/更有表现力等等我们可能期望它知道许多当代语言特性(线程、异常等)——我们不能对 ctime
做出相同的假设。
也就是说,ctime
(甚至是 time.h
)仍然有几个用例,例如当我们需要与某些 C API 对话时,或者当我们依赖旧代码库时,或者当我们使用某些遵循不同类型逻辑的库时。 C++ 被设计成务实的,而不是在任何方面都是“纯粹的”;这就是为什么 ctime
和各种过时的 header 、语法和语言功能仍然存在的原因,即使不鼓励程序员使用它们。
关于c++ - <chrono> 和 <ctime> 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36095323/