log ++ 内部 bsp hang c 语言指针 value int
- int a = 3;
- int * p = &a; //定义指针p指向变量a
- * p = 4; //*p代表a的值
- int b = 5;
- p = &b; //p指向变量b
- * p = 6; //此时*p代表b的值
- int c[3] = {
- 2,
- 5,
- 7
- };
- p = c; //此时p是指向数组c的指针,具体指向数组的第一个元素,即(&c[0]/p/c)三种写法等价
- inta =3;
- int&b = a;//定义引用b为变量a的引用,即a的别名(可理解为a的"外号")b =6;//给b赋值6即给a赋值6,此时a的值变为6
- 引用经典用法:
- voidValueExchange(int&a,int&b)
- {
- inttemp =0;
- temp = a;
- a = b;
- b = temp;
- }
- ValueExchange(a,b); //调用函数实现值交换,和c语言指针相比,c++的引用显然更加简便
- const int a = 3; //常量a = 3,const的含义即是被const修饰的值拒绝被修改
- const int * p;
- int const * p; //两种写法等价,此时无法用*p来改变p指向的变量的值,因为*p被const所修饰
- int * const p; //此时p只能指向一个变量,之后不能指向其他变量,因为p被const修饰
- const int & b;
- int const & b; //两种写法等价,&b无法被修改,即b引用的变量无法被修改,常用于上面的值交换类型函数,保护传入的变量数据的安全,拒绝被函数内部修改
C++ 指针、引用、const
来源: http://www.bubuko.com/infodetail-2057012.html