#include <iostream>
using namespace std;
/*
* 在函数重载时,形参为底层const可以重载
* 而形参为顶层const时不可重载
* 向实参添加顶层const或者从实参中删除顶层const属于精确匹配
* 无法区分两个函数
* 所以不能发生重载
*/
int f(int const i) {
cout << "const f" << endl;
}
int f(int i) { //报错
cout << "f" << endl;
}
//===============================
void k(const int *p) {
return;
}
void k(int *p) {
return;
}
void k(int* const P) {//报错
return;
}
来源:oschina
链接:https://my.oschina.net/depeng414/blog/3160788