变量类型int32_t,int64_t等

时间:2012-10-24 10:29:15

标签: c

我对C / C ++中变量的类型有一个简单的问题,即 可以声明

这样的类型

int32_t,int64_t等

我的问题是“t”在这些类型中意味着什么,与之有什么区别 通常的类型,如int32,int64。

谢谢!

...

抱歉,我不知道如何回答所有回答我问题的人,而不是单独写评论。无论如何,感谢各位的回复。 好吧,我不得不说我正在解析代码而且我是C / C ++的新手(不是C#)

关于int32_t等,它们似乎确实在头文件中单独定义:

#include <stdint.h>
#ifdef _FAST_
#define SHORT  uint_fast16_t
#define INT    uint_fast32_t
#define LONG   uint_fast64_t
#else
#define SHORT  uint16_t
#define INT    uint32_t
#define LONG   uint64_t
#endif

有人可以解释这种结构意味着什么吗?

2 个答案:

答案 0 :(得分:0)

那些看起来像C ++类型(Boost的库cstdint的一部分)。你在什么情况下看到这些类型?你在使用Boost库吗?

编辑:我猜't'代表'type'或'typedef'。

答案 1 :(得分:0)

没有内置类型,例如Int32_tInt64_t,并且没有可以添加到现有类型的魔术后缀_t

必须在代码中的某处定义Int32_tInt64_t类型。他们可能以某种方式使用Int32Int64类型,但由于类型名称包含其他类型名称,因此没有任何魔法。就编译器而言,它们也可以命名为ABigNumberABiggerNumber