4、表达式

来源:互联网 发布:程序员的工作环境 编辑:程序博客网 时间:2024/06/08 08:37

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使最近循环体立即进入下一次迭代

原创粉丝点击