[深蓝学院] C++ Week 4: 表达式 (expression)

目录

1. 引入

1.1 表达式的定义

2. 左值与右值

2.1 glvalue (generalized) 泛左值

2.2 prvalue (pure) 纯右值

2.3 xvalue (expiring) 将亡值

2.4 转换

3. 类型转换

3.1 隐式转换

 

3.2 显式转换

4. 逻辑与关系操作符

5. 位操作符

6. 赋值操作符

7. 自增和自减运算符

8. 其他操作符

8.1 成员访问操作符( . 与 ->)

8.2 Conditonal Operator


声明:本文是深蓝学院C++课程的个人笔记,仅供学习参考。

1. 引入

1.1 表达式的定义

  1. 最基本的表达式: 变量、字面值
  2. 表达式通常包含operator(操作符)
  3. operator(操作符)的特性:
    1. 接受几个操作数:一/二/三元 
      // 一元操作符
      ! ~ ++ -- delete sizeof void
      
      + -
      
      // 二元操作符
      + - (又是一元,又是二元)
      &&
      %
      
      
      // 三元操作符
      String type = score < 60 ?"不及格" :"及格";
    2.  操作数的类型--类型转换
    3. 操作数是左值还是右值
    4. 结果的类型
    5. 结果是左值还是右值
    6. 优先级 与 结合性
    7. 操作符的重载
      比如给一个Class重载加法+符号,但是重载不能改变原来操作符的所能接受元素的个数、优先级、结合性。

2. 左值与右值

Citation: https://zh.cppreference.com/w/cpp/language/value_category

*说实话,这个定义太复杂了。。。我还是有点蒙蔽*

2.1 glvalue (generalized) 泛左值

  • 泛左值 (glvalue)(“泛化 (generalized)”的左值)是其求值确定一个对象、位域或函数的个体的表达式;
const int x = 2;
x = 3; //不行,所以说左值也可能'不能够'放在等号的左边

2.2 prvalue (pure) 纯右值

  • 计算某个运算符的操作数的值或为 void 表达式(这种纯右值没有结果对象
  • 初始化某个对象或位域(称这种纯右值有一个结果对象)。除 decltype 外,所有类和数组的纯右值都有结果对象,即使它被舍弃也是如此。结果对象可以是变量,由 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值