C++中const用于函数重载(2)

但是char *a和char * const a,这两个都是指向字符串变量,不同的是char *a是指针变量 而char *const a是指针常量,这就和int i和const int i的关系一样了,所以也会提示重定义。

最后说一下,对于引用,比如int &i 和const int & i 也是可以重载的,原因是第一个i引用的是一个变量,而第二个i引用的是一个常量,两者是不一样的,类似于上面的指向变量的指针的指向常量的指针。

下面是例子:

#include<iostream> using namespace std; void fun(const int &i) { cout << "fun(const int &) called "<<endl; } void fun(int &i) { cout << "fun(int &) called "<<endl ; } int main() { const int i = 10; fun(i); return 0; }  

结果为:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/8710ad7f3abc4bddadd5ea4b8f8613c2.html