标签:
1、求值顺序:运算对象的求值顺序与优先级和结合律无关
i = f(i) + g(i)*h(i) + j(i); //如果这里的各个函数与i无关,则无所谓,如果内部都改变了i则会出错
2、当拿不准求值顺序时,用括号来强制组合
3、赋值运算符:左侧运算对象必须是一个可修改的左值
4、对于++、--;最好使用前置版本,这样避免后置版本的复制副本的性能消耗
5、位运算:
6、sizeof运算符:返回一个表达式或一个类型名字所占的字节数
const char *s = "hello"; sizeof(*s) = 1; //*s为第一个char:h;所以返回为1 sizeof(s) = 4; //为一个指针,返回为4 const char st[] = "hello"; sizeof(st) = 6 //对于一个数组,sizeof会返回大小的和;其中包括最后的‘\0’
7、类型转换:在大多数表达式中,小的形值会自动转换为大整型再计算
8、类型转换:除了在重载函数中使用const_cast外,其他地方应该避免使用强制类型转换
标签:
原文地址:http://www.cnblogs.com/dylqt/p/4830408.html