定义:
sizeof运算符返回一条表达式或一个类型名字所占的字节数。
sizeof运算符满足右结合律,其所得的值是一个size_t类型的常量表达式。(size_t类型是一种机器相关的无符号类型,足够大可以表示内存中任意对象的大小)
使用方法:
sizeof (type);
sizeof expr;
注:
sizeof的结果部分依赖于其作用的类型:
1、对char或者类型为char的表达式执行sizeof运算,结果为1;
2、对引用类型执行,得到被引用对象所占空间大小;
3、对指针执行sizeof运算得到指针本身所占空间的大小;
4、对解引用指针执行得到指针指向的对象所占空间的大小,指针不需要有效;
5、对数组执行得到整个数组所占空间的大小,等价于对数组中所有的元素个执行一次sizeof运算并将得到的结果求和。(sizeof不会将数组转化成指针来处理)
6、对string或者vector对象执行sizeof运算只返回该类型固定部分的大小,不会计算对象中的元素占用了多少的空间。(vector固定长度返回16,string返回28)