第39回
自增自减操作符,注意 前++和后++的区别,下图1中输出的 b 为 3,而图2输出的b 为 2 ,b = ++a 表示先把a加1并赋值给 a,然后赋值给b;而 b = a++ 表示先把 a 赋值给b,然后把a加1赋值给a
对于 for 循环,我们尽量使用 ++i 少用 i++ ,因为 ++i 要更快,++i 只需要加1后返回加1的结果即可,而 i++ 则需要先把原来的 i 值保存起来,然后再把 i 值加1
第40讲
箭头操作符
箭头操作符用于 使用指针操作对象的时候
图2的两条语句效果一样
第41讲
下图中,红框部分表示:若val1 小于 val2 则留下 val1 这个变量,当val1大于等于val2 则留下val2 这个变量
第42讲
new和delete表达式
动态创建对象是在内存的自由存储区里动态 创建对象,而静态创建对象是在内存的堆栈里创建对象
动态创建对象是在运行过程中创建的,而静态创建对象是在编译的时候创建的,动态创建对象要使用指针
动态创建的变量没名字,静态创建的变量有名字(如下图)
动态创建的变量和静态创建的变量都可以初始化(如下图)
动态创建的变量如果是类类型,那么有括号和没括号是一样的,都是调用默认的构造函数进行初始化(即下图1中的2条语句是一样的),而动态创建的变量如果是内置类型,那么有括号和没括号是不一样的,没有括号就没有进行进行初始化,有括号就用默认的初始化(如图2)
new 出来的对象用完后要及时 delete (如下图),注意,delete 是把动态创建的对象删除了,
要注意,delete 只是删除了 这个指针所指向的对象,但这个指针变量还是保存着指向这个原对象的地址,所以,delete 对象后,马上将指针指向 0 是一个好习惯(如下图)
一个动态对象就只能进行一次delete
一般来说,const对象都是静态分配的,但也可以创建动态分配的对象,而且也要 delete
第43回
强制类型转换运算符
第44回
for 循环中定义的变量其作用范围仅在这个for循环中
第45回