4、表达式

1、手动明确调用顺序防止出错

int i = f() * g();

//f()和g()调用顺序不确定

int a, b;
a = f();
b = g();
i = a + b;

2、赋值运算符返回的是左侧运算对象,赋值运算还满足右结合律。赋值运算符优先级较低,低于关系运算符。

int a, b;
a = b = 0;

//即a = (b = 0);
b = 0;
a = b;

3、++i先加后用,如果不需要保留修改前的值尽量用前置运算符

int i, j, k;
i =0;
j = i++;    //j = 0; i = 1;
k = ++i;    //k =1 ; i = 2;

int val, *q;
val = *q++;     //val = *q,q++

4、<<左移补0;>>右移补符号位;~取反;^异或

5、类型转换:(1)运算:向大范围,double浮点类型转换;(2)赋值:向左侧类型转换

//强制类型转换
double s = static_cast<double>(p);

//const_cast只能操作const对象
const char *pc;
char *p = const_cast<char *>(pc);

6、for语句头定义的对象只在for循环体内可见

7、break终止离它最近的循环体或switch;continue使最近循环体立即进入下一次迭代

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值