【发布时间】:2013-06-22 08:04:39
【问题描述】:
我不是 C 或 C++ 方面的老手。我不知道time_t 是如何定义和设计的。
几个帖子,如:
- What is ultimately a time_t typedef to?
- What is size_t in C?
- Difference between size_t and std::size_t
但这些帖子仅说明 time_t 或 size_t 是什么。它没有明确说明 time_t 或 size_t 是如何以及在何处定义和声明的。
我正在使用 WIN8 VS2012 Express C++。我搜索了库,发现size_t是在crtdefs.h中定义的,而不是cstddef。
- 为什么需要
size_t、time_t这样的类型?我们可以让sizeof直接返回unsigned int。 - 为什么 C++ 库没有定义
size_t? - 我可以说 size_t 不是 C/C++ 内置类型吗?
- 我永远不需要在我的程序中包含相应的头文件来使用
size_t或time_t(可能它们是在std命名空间中定义的)。
我在库中再次搜索,发现size_t定义为typedef _W64 unsigned int size_t,_W64定义为__w64。在这里,我无法搜索更多关于 __w64 是在哪里定义或声明的。
- 什么是
__w64类型? C++11/C99 标准中没有说明。
同样,当我搜索time_t 时,我找到了__int6。但是不知道__int64从哪里来。
【问题讨论】:
-
size_t在标准中。这就是您应该寻找的。span> -
unsigned int vs. size_t 的可能副本