C++11: struct timeval

C++11: struct timeval

本文关键字:timeval struct C++11      更新时间:2023-10-16

我被告知不要在C++程序中包含像<stdio.h>这样的C头,而是使用<cstdio>等。如何在不包含<sys/time.h>的情况下获得struct timeval

另一个问题是,除了使用select/poll(在POSIX系统上),还有其他C++11选项吗?

<cstdio>和类似的是C标准库的C++变体。<sys/time.h>根本不是C标准库的一部分(它是certan操作系统的POSIX接口的一部分),所以没有C++特定的sys/ctime,所以不,你只需要使用与C.中相同的头文件

使用C样式和C++样式头的主要原因是将extern "C"应用于头文件中声明的函数。在某些系统中,可能需要像这样包装函数:

 extern "C" {
 #include <sys/time.h>
 }

但在我的Linux系统中,它在标准的<sys/time.h>文件中这样做。

<cstdio>是C库<stdio.h>的C++变体。不同之处在于,C版本是在全局名称空间中定义的。

您可以在此处看到这些标头的列表:http://www.cplusplus.com/reference/clibrary/

<sys/time.h>不是标准库的一部分,因此在C++中没有等价的库。你只需要像在C.中一样使用它。