C ++ U32类型头

时间:2011-08-28 00:20:33

标签: c++ c

我想使用 U32 类型,但我找不到定义它的标头。有谁知道吗?

3 个答案:

答案 0 :(得分:13)

没有名为U32的标准类型,但如果您#include <cstdint>(C stdint.h),您可以使用std::uint32_t 1 , 32位无符号整数,这是(我假设)你想要的。

以下是a list of types in the cstdint header

namespace std {
    int8_t
    int16_t
    int32_t
    int64_t
    int_fast8_t
    int_fast16_t
    int_fast32_t
    int_fast64_t
    int_least8_t
    int_least16_t
    int_least32_t
    int_least64_t
    intmax_t
    intintptr_t
    uint8_t
    uint16_t
    uint32_t
    uint64_t
    uint_fast8_t
    uint_fast16_t
    uint_fast32_t
    uint_fast64_t
    uint_least8_t
    uint_least16_t
    uint_least32_t
    uint_least64_t
    uintmax_t
    uintintptr_t
}

1 感谢Martinho Fernandes指出这些类型位于命名空间std中。

答案 1 :(得分:2)

虽然cstdint可能是一个解决方案,但它不是通用的 - 2010年之前的MSVC版本没有附带那个。如果为多个平台编写,您需要自己提供标准类型,如果MSVC&lt; 2010年被发现。如果您使用提升,请使用boost one

答案 2 :(得分:2)

U32是unsigned int的惯用快捷方式。它的共同定义是:

typedef unsigned int U32;

但其使用的主要原因是能够手动控制实际定义。希望这会有所帮助。