各个C++实现所选择采用的基础类型的大小统称为“数据模型”。有四种广泛采用的数据模型:
32 位系统:
LP32 或 2/4/4(int 为 16-bit,long 和指针为 32 位)
Win16 API
ILP32 或 4/4/4(int,long 和指针都为 32 位)
Win32 API
Unix 和 Unix 类的系统(Linux,Mac OS X)
64 位系统:
LLP64 或 4/4/8(int 和 long 为 32 位,指针为 64 位)
Win64 API
LP64 或 4/8/8(int 为 32 位,long 和指针为 64 位)
Unix 和 Unix 类的系统(Linux,Mac OS X)
1 #include <iostream>
2 using namespace std;
3 int main() {
4 int* a;
5 cout<<sizeof(int)<<" ";
6 cout<<sizeof(long)<<" ";
7 cout<<sizeof(a)<<" ";
8 return 0;
9 }