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

表达式

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只改变常量属性
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值