C++基础知识点总结之常量与引用

1.指向常量的指针

指针所指向的是常量,指针本身是变量。

如const char *pc = "chenk";

pc = "qq"; //正确

pc[2] = 't'; //错误

2.指针常量

指针本身是常量,所指向的是变量

如 char *const pc = "chenk";

pc = "qq"; //错误

pc[2] = 't'; //正确

注意:

1、如果pc不是指针,const与char的位置不管如何交换,所声明的pc都是常量,即const char pc与char const pc没区别。

2、不能将非const对象的指针指向一个常量对象,如:

int *p;

const int i = 9;

p = &i; //错误

引用

是某个对象(即变量)的别名,没有自己的独立空间,要与它所引用的变量共享空间,这也就是为什么能通过引用接收参数,进而改变参数值的原因。

形式如:

int i = 7;

int &ii = i; 

注意:

1、引用必须在定义时初始化

2、可以为一个变量指定多个引用,如

int i =7;

int &ii = i;

int &iii = i;

3、一个引用只能是一个变量的别名,不能再次将它指定为其他变量的别名,如

int i = 7, j;

int &ii = i;

ii = j; //错误

4、const引用可以用常量初始化,但非const引用不能用常量初始化,如

const int &cc = 7; //正确

int &yy = 8; //错误

5、不能建立引用的引用;不能建立引用数组,也不能建立数组的引用;可以建立指针的引用,不能建立指向引用的指针

int i = 0,a[10];

int &&ii = i; //错误,ii是引用的引用

int &b = a; //错误,b是数组的引用

int &c[10]; //错误,c是引用数组

int *p = &i;

int *&pp = p; //正确,pp是指针的引用

int &*ppp = i; //错误,ppp是指向引用的指针

6、由于引用参数传递的是实参的地址,因此在调用函数时,不能向引用参数传递常数,如

void swap(int &a, int &b){}     //函数定义

int i =4, j = 5;

swap(4,6)       //错误的调用

swap(i, j);       //正确的调用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值