利用const引用/指针重载最佳匹配的问题

void func(const char &a)
{
	cout<<"non-const";
}
void func(char &a)
{
	cout<<"const";
}
int main()
{
	char p = '1';
	func(p);
	return 0;
}

此时func§调用的是非const的函数,而其实他与const的函数也是匹配的,但不是最佳。如果像下面没有非const函数,则将调用const的函数。


void func(char &a)
{
 cout<<"const";
}
int main()
{
 char p = '1';
 func(p);
 return 0;
}

此时调用的是非const的函数。
因为形参在初始化时,可以用非const的引用对象初始化const引用对象的。反过来不行


//const char ptr = '2';
 //char &a = ptr;//报错
 char ptr = '2';
 const char &a = ptr;//这样时可以的
 
发布了5 篇原创文章 · 获赞 3 · 访问量 56
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览