Question about __int's

Hello, my question is about these data types:
1
2
3
4
__int64 xx;
__int32 xy;
__int16 yy;
__int8 zz;

are these c++ standart? Also i want to notice this thing in some library (i don't remember in which)
 
#define __int64     long long 

should i use __int64 instead of long long and __int32 instead of long?
Thanks for replies.
are these c++ standart?
No.
should i use __int64 instead of long long and __int32 instead of long?
No, and long long is not standard, either.
Yeah, but if you absolutely NEED 64 bits, then you pretty well have to use __int64. The implementation will define it as needed for the platform. On a 64-bit platform it will simply be an int. On some 32-bit platforms it may be a long, while on others it is a long long.
Last edited on
If you absolutely need a 64-bit integer, you might as well #include <stdint.h> (which more compilers support than __int64, AFAIK) and use int64_t.
Another solution is to define your own types based on the compiler using #ifdef and compiler macro definitions.
I don't need to use them, i just feel bad when i don't know something.
Topic archived. No new replies allowed.