C++Primer 4.9&4,10——sizeof运算符和逗号运算符

C++Primer 4.9&4,10——sizeof运算符和逗号运算符

1、sizeof运算符
①sizeof运算符的作用:返回一条表达式或一个类型名字所占的字节数。
②sizeof运算符满足右结合律,所得的值是一个size_t类型的常量表达式。
③运算符的运算对象有两种形式:
(1)sizeof (type); //sizeof返回的是某个类型的大小
(2)sizeof expr; //sizeof返回的是表达式结果类型的大小。

④C++新标准允许我们使用作用域运算符来获取类成员的大小。
如: sizeof Sales_data::revenue; //获取revenue大小的方式。

⑤sizeof作用不同类型的运算对象的运算结果
(1)对char或char的表达式执行sizeof运算,结果得1。
(2)对引用类型执行sizeof运算,结果得到被引用对象所占空间的大小。
(3)对指针执行sizeof运算,结果得到指针所占空间的大小。
(4)对解引用指针执行sizeof运算,结果得到指针指向的对象所占空间的大小,指针不需要有效。
(5)对数组执行sizeof运算得到整个数组所占空间的大小,等价于对数组中所有的元素进行sizeof运算并将所得结果求和。注意:sizeof不会将数组转换成指针来处理。
(6)对string或vector对象执行sizeof运算只返回该类型固定部分的大小,不会计算对象中的元素占用了多少空间。

2、逗号运算符
①逗号运算符有两个运算对象,求值顺序从左向右依次求值。
②对于逗号运算符来说,先从左侧运算对象求值,然后再对右侧运算对象求值。
③逗号运算符的运算结果就是右侧运算对象的值。如果右侧运算对象是左值,则最终的运算结果也是左值。

猜你喜欢

转载自blog.csdn.net/qq_47466050/article/details/106811255
今日推荐