//测试各种数据类型的长度,以及string类的长度
#include <iostream>
#include <string>
using namespace std;
struct stru0
{
string name;
int num;
float score;
};
enum enu0
{
one,
two,
three
};
class cla0
{
};
class cla1
{
public:
cla1(int ntemp0,int ntemp1)
{
nnum0 = ntemp0;
nnum1 = ntemp0;
}
int nnum0;
int nnum1;
};
int main()
{
/*
* 测试内置数据类型的长度
*/
cout<<"type and length"<<endl;
cout<<"char: "
<<sizeof(char)<<endl;
cout<<"short int: "
<<sizeof(short int)<<endl;
cout<<"int: "
<<sizeof(int)<<endl;
cout<<"long int: "
<<sizeof(long int)<<endl;
cout<<"long long int: "
<<sizeof(long long int)<<endl;
cout<<"float: "
<<sizeof(float)<<endl;
cout<<"double: "
<<sizeof(double)<<endl;
cout<<"long double: "
<<sizeof(long double)<<endl
<<endl;
/*
* 测试一个复合类型之枚举类型
*/
cout<<"enum: enu0 with 'one' 'two' 'three'"<<endl;
enu0 enu0Type0;
cout<<"enu0 type: "
<<sizeof(enu0)<<endl;
cout<<"enu0 type: "
<<sizeof(enu0Type0)<<endl
<<endl;
/*
* 测试一个复合类型之结构体类型
*/
cout<<"struct: stru0 with a 'string' and a 'int' and a 'float'"<<endl;
stru0 stru0Type0={"addfqwde",12,123.1};
cout<<"stru0 type: "
<<sizeof(stru0)<<endl;
cout<<"stru0 var: "
<<sizeof(stru0Type0)<<endl
<<endl;
/*
* 测试一个复合类型之类类型
*/
cout<<"class: cla0 with no contain"<<endl;
cla0 object0;
cout<<"cla0 type: "
<<sizeof(cla0)<<endl;
cout<<"cla0 object: "
<<sizeof(object0)<<endl
<<endl;
cout<<"class: cla1 with two 'int'"<<endl;
cla1 object1(12,23);
cout<<"cla1 type: "
<<sizeof(cla1)<<endl;
cout<<"cla1 object: "
<<sizeof(object1)<<endl;
}