c++学习笔记(七)
位运算和sizeof运算符
位运算
C语言中提供了一些运算符可以直接操作整数的位,称为位运算,因此位运算中的操作数都必须是整型的。
位运算的效率是比较高的,而且位运算运用好的话会达到意想不到的效果。
位运算主要有6种:与(&),或(|),取反(~),异或(^),左移(<<),右移(>>)。
位运算符满足左结合律且优先级如下:比算术运算符优先级低,比关系运算符、条件运算符和赋值运算符优先级高。
因此一次使用多个运算符的时候应该在适当的地方加上括号。
sizeof运算符
sizeof 是一个关键字,它是一个编译时运算符,用于判断变量或数据类型的字节大小。
sizeof 运算符可用于获取类、结构、共用体和其他用户自定义数据类型的大小。
使用sizeof的语法:
1.
sizeof (data type)
其中,data type 是要计算大小的数据类型,包括类、结构、共用体和其他用户自定义数据类型。
2.
sizeof expr
在第二种形式中,sizeof返回的是表达式结果类型的大小,并不实际计算其运算对象的值。
注意:
1.定义一个空的类型,里面没有任何成员变量和成员函数,对该类型求sizeof,所求结果为1。
2.对char或者类型为char的表达式执行sizeof运算,结果得1。
3.3.运算符优先级总结:算术>关系>逻辑>条件>赋值>逗号。