4.1 基础
1.*pt(pt是之前定义的指针)
*pt++
这个语句 后置++优先级大于*,但后置++是先返回后++
所以这句是先取出pt的值,再++,取完内容再挪动指针
2.求值顺序
这里还有点不清晰:关于*(++iter)P124
int i=0;
cout<<i<<" "<<++i<<endl;
对同一对象i,不清楚编译器是如何顺序求值的,是先算++i还是i都不知道,在不同的系统中可能不同,出现错误(但编译时不会报错)
C++不明确规定大多数二元运算符的求值顺序,有利于提升效率
规定求值顺序的运算符:&& || ?: ,
4.2 算数运算符
1.副本是和原本对象有同一地址的!!!本质是一回事!!!
2.非0的都是true,只有0是false
bool b=true;
bool b2=-b;
!!!b2是true
b被提升为1(int类型),-b=-1,非0的都是true,只有0是false
练习题
4.2(b)是(*(vec.begin()))+1 .>*=+ 先.后先左后右
其余练习无需要重点强调的
纠错更新
1.11 看到后面发现对副本拷贝值和引用的想法是错误的,副本拷贝不是一个地址而是拷贝一份不同地址 P169