-
引用 变量的引用 int a = 3; int &b = a; b = 7; //即a=7 指针的引用 int a = 8; int *p = &a; int *&q = p; *q = 9; //即a=9 const int a = 9; int const *p = &a;//等价于const int *p = &a; const修饰的是*p,即不能通过*p来改变p所指向的内存里的内容,但是p可 以重新指向其他内存地址。 int * const p = &a;//const修饰的是p,可以通过*p来修改p所指向内存里的内容,但是p不能再指向其他内存地址。 int b = 8; int const &c = b;//c只能引用变量b的值,但是不能修改b的值 int const a = 5; int *p = &a; //error a是常量,不能改变。但是p是变量,可以通过*p来改变其所指向内存里的内容。a的作用范围变大了,存在风险,所以不合法。 int const *p = &a;//ok a是常量,不能改变。p虽然是变量,可以指向其他内存地址,但是不能通过*p来改变其所指向内存里的内容。a的范围不变,没有风险,所以合法。 int a = 4; int const *p = &a;//ok a是变量,其值可以修改。p是变量,可以指向其他内存地址,但是不能通过*p来改变其所指向内存里的内容。a的作用范围变小了,没有风险,所以合法。查看全部
-
int x=3;const int *p=&x;<br> (p=&y;正确)<br> (*p=4;错误) 因为这里的const修饰的仅仅是*p;p的指向可以改变,值不能变 int x=3;int *const p=&x; (p=&y;错误)此时p的指向是定的,值可以变 引用中:Int x=3;const int &y=x; (x=4;正确) (y=4;错误) const int x=3;int *y=x;错误,有可能通过*y改变x的值; Int x=3;const int *y=&x;正确查看全部
-
可变的指针去指向不可变的变量是错的查看全部
-
优:<br> 指针 === 引用<br> #define === const<br> 函数默认值 === 函数重载<br> 缺:<br> 内存管理查看全部
-
#include <iostream> using namespace std; /** *函数功能:返回a和b的最大值 *a和b是两个整数 */ int getMax(int a, int b) { return a > b ? a : b; } /** * 函数功能:返回数组中的最大值 * arr:整型数组 * count:数组长度 * 该函数是对上面函数的重载 */ int getMax(int *arr,int count ) { //定义一个变量并获取数组的第一个元素 int maxNum = arr[0]; for(int i = 1; i < count; i++) { //比较变量与下一个元素的大小 if(maxNum < arr[i]) { maxNum = arr[i];//如果数组中的元素比maxNum大,则获取数组中的值 } } return maxNum; } int main(void) { //定义int数组并初始化 int numArr[3] = {3, 8, 6}; //自动调用int getMax(int a, int b) cout << getMax(numArr, 3) << endl; //自动调用返回数组中最大值的函数返回数组中的最大值 cout << getMax(numArr[0],numArr[1]) << endl; return 0; }查看全部
-
有参数值的参数必须放在参数列表的最右边查看全部
-
#include <iostream> using namespace std; int main(void) { //定义常量count const int count = 3; const int *p = &count; //打印count次字符串Hello C++ for(int i = 0; i < *p; i++) { cout << "Hello imooc" << endl; } return 0; }查看全部
-
zhongdian1查看全部
-
函数形参默认值必须放在最后面的查看全部
-
释放完内存后要将指针赋值为空查看全部
-
申请内容的方式,c语言申请的,就用c释放。查看全部
-
指针引用 int *&q=p;查看全部
-
函数参数默认值: 1.有默认参数值的参数必须在参数表的最右端 2.在定义函数时定义默认值编译器容易报错,最好在声明函数时定义默认值 3.无实参则用默认值,否则实参覆盖默认值 函数重载: 1.定义:在相同作用域内用同一函数名定义多个函数,参数个数和参数类型不同 2.计算机通过函数名+参数类型来形成新函数来区分同名函数 内联函数(内置函数): 1.编译时将函数体代码和实参代替函数调用语句 2.内联编译是建议性的,由编译器决定 3.逻辑简单的,调用频繁的函数建议使用内联 4.递归函数无法使用内联方式查看全部
-
指针指向const修饰的变量时,应该是const int const *p = &a;查看全部
-
内存的申请和释放: new和delete需配套使用,申请后要判断申请是否成功,释放内存后应置指针为空,防止出现错误。查看全部
举报
0/150
提交
取消