4.2指针的引入
1.指针变量的定义
string *pstring; 语句把pstring定义为一个指向string类型对象的指针变量。或者也可以如下定义: string* ps;
如果需要再一个声明语句中定义两个指针,必须在每个变量标识符前再加符号*声明:
string* ps1, *ps2;
4.指针可能的取值
int ival = 1024, ival2 = 2048;
int *pi = &ival, *pi2 = &ival2;
int **pi3 = π
pi = pi2;
cout << *pi <<endl;
cout << **pi3 << endl;
7.void*指针
可以保存任何类型对象的地址
double obj = 3.14;
double *pd = &obj;
void *pv = &obj;
pv = pd;
void* 表明指针与一地址值有关,但不清楚存储在此地址上的对象的类型。
4.3.1 创建动态数组
C++中使用new 和 delete自由存储区中分配存储空间
1.动态数组的定义
动态分配数组时,只需要指定类型和数组长度,不必为数组对象命名,new表达式返回指向新分配数组的第一个元素的指针。
int *pia = new int[10];
5.动态空间的释放
动态分配的内存最后必须进行释放,使用delete []表达式释放指针所指向的数组空间。例如:detele [] pia;