const 引用

1)const引用就是指向const对象的引用,非const引用就是指向非const对象的引用。

2)非const引用只能绑定到与该引用同类型的对象,而const引用则可以绑定到不同但是相关的类型对象或者绑定到右值。

3)普通的非const引用形参在使用时不能用const对象初始化,也不能用字面值或者产生右值得表达式实参初始化。

例如:声明如下函数

string::size_type find_char(string& s,char c);

在使用的时候,存在变量const string& str = “hello”,如果调用函数是采用以下方式:int k= find_char(str,‘h’),将会出现编译错误,因为不能使用const引用实参对非const引用形参进行复制。int k = find_str(“hello”,‘h’),也是错误的,不能使用右值对非const引用进行初始化。 

但是,如果函数声明如下:

string::size_type find_char(const string& s,char c);则以上两个使用方式都正确,并且可以使用非const引用对s进行赋值。即 string & str = “hello”,int k = find_char(str,‘h’)是正确的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值