Intel® C++ Compiler 16.0 User and Reference Guide
The 64-bit data model used by OS X* is known as LP64. The use of the LP64 data model ensures that source code created on other platforms can be easily ported to OS X*.
The LP64 data model defines these C/C++ types as follows:
int is 32 bit.
long, long-long, and pointers are 64 bit.
The following C/C++ restrictions and guidelines apply:
An int cannot hold pointers since pointers are 64-bit types in the LP64 data model.
Casting variables from a larger datatype to a smaller one can result in lost data; in general, you should not cast from a 64-bit integer datatype to a 32-bit integer datatype.
Use the correct printf directives for printing types.