您的位置:首页 > 编程语言 > C语言/C++

C++基础编程----4.3表达式

2015-10-17 07:58 375 查看

表达式

1.位运算符

          1.1  一种名为bitset的标准库类型可以表示任意大小的二进制位集合。
          1.2  运算符:~      <<    >>   &   |   ^(异或)
          1.3  符号位如何处理没有明确的规定,强烈建议将位运算符用于处理无符号类型。
          1.4   不要将位运算符和逻辑运算符(&&、||、!)搞混
          1.5  bool  status=quiz&(UL1<<27);           //  第27个同学通过测验

2.sizeof运算符

          2.1  Sale_data  *p;      sizeof(p);      //   指针所占空间大小          sizeof(*p)      //   p所指类型空间的大小
          2.2  sizeof   Sale_data::revenue;      //  不需要具体对象,可以根据类直接获取类成员的大小
          2.3  sizeof  不会把数组转换为指针进行处理
          2.4  sizeof返回值是一个常量表达式,我们可以用其结果声明数组的维度。

3.类型转换

          3.1  int  ia[10];     int  *ip=ia;     //   ia转换成指向数组的首元素的指针
          3.2  当数组用作decltype  &  sizeof  typeid等运算符运算对象的时候,上述转换不会进行发生。

4.显示转换

          强制类型转换
          cast-name<type>(expression);          
          static_cast    1.较大算术类型赋值给较小算术类型  2. void  *p=&d;   double *dp=static_cast<double *>(p);       强制转换的结果与原始地址值相等,必须保证我们转换后所得的类型就是指针所指的类型。d一定为double型才正确
          const_cast       const  char  *cp;   char  *q=static_cast<char *>(cp);      //  错误  static_cast不能转换掉const性质  
                                     static_cast <string> (cp);     //  字面值转换为string可以        const_cast<string>(cp);      //  错误  const_cast只改变常量属性
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  表达式