C++ PP chapter Ⅶ C++的编程模块

来源:互联网 发布:淘宝客返利网站程序 编辑:程序博客网 时间:2024/05/01 05:53
1.  参数(argument)    --> 实参    参量(parameter)   --> 形参2.  A[]  同样传递的是地址,可对原数组修改         传递数组地址时,目标函数无法通过 sizeof (arrayName) 量长         必须把长度一并传去 (或使用首尾地址法,传递首地址和尾地址的指针)3.  可以用关键字 const 保护数组 //(constant)    const 和指针:        两种使用方式            a. 让指针指向一个常量对象,防止使用该指针修改所指向的值                    例如  const int *pt = &age;            注意 const 变量的地址必须传给指向 const 的指针                    例如  const float A = 0.1;                          const float *pa = &A;  -->valid                          float *pb = &A;        -->invalid     //之所以禁止的目的是防止通过普通指针修改const变量的值                 在一级间接关系时可以将 非 const 指针的地址赋给 const 指针                 但再深不行                          int *p1 = &ans;                          const int *pp2 = p1;            b.将指针本身声明为常量,防止改变指针指向的位置                    例如  int * const p = &age; 那么 p 所指向地址无法修改4.  数组指针 和 指针数组    int (*ar)[4] 等价于 ar[][4] 表示指向4int组成的数组的指针    若对二维数组首地址声明为指针 (*ar)[x] ( 或ar[][x] )    那么对于二维数组元素的指针表达  ar[y][x] = *((*ar+y)+x)5.  对结构体处理的函数        三种传递方式 : 按值传递、传递结构的地址、引用        按值传递是对副本的操作,使用 . 号成员访问法        地址传递使用成员的指针访问 ->6.  函数与string对象    string 对象可以直接按值传递    string 的数组声明 :            string List[Size]            整行读取方法 getline(cin,List[i])            函数传递 string sa[]7.  函数与array对象    例如 :        std::array<double, 4> expenses;        对于函数 void Show(std::array<double ,4> da);  按值传递 Show(expenses)        对于函数 void Fill(std::array<double ,4> *pa); 传递地址 Fill(&expenses)    要注意的是对于array对象可以使用坐标读取法 (*pa)[i]                                --------------pa是指针,*pa是array首地址,(*pa)[i] 便为实际空间8.  函数指针    函数的指针是存储其机器代码的内存的开始地址(就是函数名本身)[C++ P笔记中会补充这一知识点,暂且跳过]
0 0
原创粉丝点击