一、知识要点
1、++i与i++
int i = 0, j = 0;
j = ++i; //j = 1. i = 1,++i——加1后返回加1的结果
j = i++; //j = 1, i = 2,i++——保存操作数原来的值以便返回,然后加1
EG:vector<int> vec;
vector<int>::interator iter = vec.begin();
while (iter != vec.end())
{
cout << *(iter++) << endl; //比这种方式好:cout << *iter << endl; ++iter; 前一种方式先输未加1时的iter内容,然后iter增1后判断
循环条件
}
2、int *p = new int; //未初始化
int *p = new int(); //p初始化为指向0
3、一旦删除了指针所指向的对象,立刻将指针置为0,这样非常明确的表明指针不再指向任何对象
4、隐式转换
int i = 3;
double j = 3.14;
int k = i + j; //先计算i+j,将i隐式转换为double类型的,计算出值为6.14,然后赋值给k,不能改变左操作数的类型,因此转换为6
二、遗留
1、强制转换
dynamic_cast:
const_cast:转换表达式的const属性,只能用于转换const属性
static_cast:
reinterpret_cast:
三、工作收获
——————————
感觉自己的状态还没到位,怎么办?静下来!