[c++] Difference between uint32 and uint32_t

Possible Duplicate:
Difference between different integer types

What is the difference between uint32 and uint32_t in C/C++?

Are they OS dependent?

In which case should I use one or another?

Thanks

This question is related to c++ c uint32 uint32-t

The answer is


uint32_t is standard, uint32 is not. That is, if you include <inttypes.h> or <stdint.h>, you will get a definition of uint32_t. uint32 is a typedef in some local code base, but you should not expect it to exist unless you define it yourself. And defining it yourself is a bad idea.


uint32_t is defined in the standard, in

18.4.1 Header <cstdint> synopsis [cstdint.syn]

namespace std {
//...
typedef unsigned integer type uint32_t; // optional
//...
}

uint32 is not, it's a shortcut provided by some compilers (probably as typedef uint32_t uint32) for ease of use.