一、关键点
功能:返回一个类型或一条表达式所占的字节数
形式:sizeof (type) 或 sizeof 表达式
注:第二种形式返回的是表达式结果类型的大小,并且sizeof不实际计算其运算对象的值
返回类型:size_t
结合律:右结合律
二、示例
Stu stu1, *p; sizeof(Stu); //存储Stu类型的对象所占的空间大小 sizeof stu1; //stu1的类型的大小,即sizeof(Stu) sizeof p; //指针所占的空间大小 sizeof *p; //p所指类型的空间大小,即sizeof(Stu) sizeof stu1.num; //Stu的num成员对应类型的大小 sizeof Stu::num; //同上
三、其他说明
1. 对引用类型执行sizeof运算得到被引用对象所占空间的大小
2. 对数组执行sizeof运算得到整个数组所占空间的大小,即sizeof运算不会把数组转换成指针来处理
3. 对string对象或vector对象执行sizeof运算得到该类型固定部分的大小,不会计算对象中的元素占用了多少空间