1.将指针变量加一后,其对应地址增加值等于指向的类型所占用的字节数
2.typenames * name = new typename --> delete name
typenames * name = new typenames [size] --> delete [] name 若delete + [] +地址(如指针,数组名),则删除整个new的数组内存)
3.在讲字符串读入程序时,应使用已分配的内存地址,比如char型数组,new过的指针。避免使用无new过得指针,无new过的指针不会被分配内存。
4.strcpy(avg1,avg2),从avg2中拷贝字符串副本到avg1,填入的是两个地址,如数组名,字符串,指针,但是avg1指向的地址必须是已经开辟内存的。
使用new创建动态结构
1.创建结构: typename * name = new typename or &实例,第一种是未命名的实例,第二种是命名了的实例。
2.访问结构成员: pointer --> member or (*pointer).member
C++管理数据内存的方式:3种(C++11提供了第四种线程储存)
1.自动储存:在函数被调用时自动产生,函数结束自动消亡
2.静态储存:使用static关键字 或者 在函数外定义变量
3.动态储存: new,delete
模板类Vector
创建方法:vector name(size) 动态数组
访问方法:和数组类似,name[position]
模板类array
创建方法:array<typename,size> name 静态内存分配,比数组更安全,操作比vector更高效
数组之间不能相互赋值,但array类实例之间可以