int64_t is a Standard C++ type for a signed integer of exactly 64 bits. int64 is not a standard type.
The first C++ standard didn't have fixed-width types. Before int64_t was added to Standard C++, the different compilers all implemented a 64-bit type but they used their own names for it (e.g. long long, __int64, etc.)
A likely series of events is that this project originally would typedef int64 to the 64-bit type for each compiler it was supported on. But once compilers all started to support Standard C++ better, or once the person who wrote the code found out about int64_t, the code was switched over to use the standard name.
Object dtype for int64 and Int64 values in column
What’s the difference between int64 and C.int64_t?
Is a Int the same as Int64?
c# - What is the difference between int, Int16, Int32 and Int64? - Stack Overflow
Videos
As the title says. Working on a project that stores data in a DB and whoever wrote it uses int64 and C.int64_t. And in some places they cast C.int64 as int64…. Why?!
Each type of integer has a different range of storage capacity
Type Capacity
Int16 (-32,768 to +32,767) or (−2^15 to +2^15−1)
Int32 (-2,147,483,648 to +2,147,483,647) or (−2^31 to +2^31−1)
Int64 (-9,223,372,036,854,775,808 to +9,223,372,036,854,775,807) or (−2^63 to +2^63−1)
As stated by James Sutherland in his answer:
intandInt32are indeed synonymous;intwill be a little more familiar looking,Int32makes the 32-bitness more explicit to those reading your code. I would be inclined to use int where I just need 'an integer',Int32where the size is important (cryptographic code, structures) so future maintainers will know it's safe to enlarge anintif appropriate, but should take care changingInt32variables in the same way.The resulting code will be identical: the difference is purely one of readability or code appearance.
The only real difference here is the size. All of the int types here are signed integer values which have varying sizes
Int16: 2 bytesInt32andint: 4 bytesInt64: 8 bytes
There is one small difference between Int64 and the rest. On a 32 bit platform assignments to an Int64 storage location are not guaranteed to be atomic. It is guaranteed for all of the other types.