C++学习笔记4——表达式

关系操作符是不能串接的。IO操作符为左结合,cout<<“hi“<<”everyone“等价于(cout<<"hi")<<"everyone",其中cout<<"hi"会返回一个cout对象,从而使得多个操作链接为单个语句。

赋值操作符的做操作数必须是非const的左值,通常通过赋值操作将其右操作数的值付给做操作数。然而,当左右操作数类型不同时,类型转换可能会改变被赋的值。赋值操作是右结合性,即当表达式含有多个赋值操作符时,从右到左结合。

自增、自减的前置与后置的区别:前置的自增操作使操作数+1,操作结果是修改后的值。int i=0;j=++i,的结果是j=1,i=1;后置的自增操作操作数同样+1,操作结果是原来的未修改的值,int i=0;j=i++,的结果是j=0,i=1。前置的操作只需加后返回结果即可,更简单。

箭头操作符(->),为在点操作符后使用的解引用操作定义的。假设有一个指向类类型的指针*p=&item;则要先对指针解引用,才能调用类员(*p).abc;。现在有了箭头操作符,可以直接进行操作p->abc;即可达到同样的效果。

三元操作符——条件操作符,cond?expr1:expr2;cond是条件判断表达式,首先计算其值,若值为真,计算expr1,值为假,计算expr2。

隐式转换发生的情况:1、在混合类型的表达式中,操作数被转换为同种类型2、用作条件的表达式换为bool值3、初始化或赋值某个变量,该表达式被转换为这个变量的类型。

强制类型转换的形式如下:cast-name<type>(expression);其中cast-name为static_cast、dynamic_cast、const_cast,reinterpret_cast之一,type为目标类型,expression为要强制转换的值。static转换可以执行由编译器隐式执行的类型转换;dynamic支持运行时识别指针或引用所指向的对象;const转换掉表达式的const性质(专用);reinterpret为操作数的位模式提供较低层次的重新解释

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值