谈谈 C++ 中 const * & 重载

/* 类似php 魔法常量 
	cout << __func__ << endl;
	cout << __FILE__ << endl;
	cout << __LINE__ << endl;
	cout << __DATE__ << endl;
	cout << __TIME__ << endl;
*/

/* 可以重载 
void fun(short a){
} 
void fun(int a){
}
*/

//形参用const修饰 有效  实质一样
//因为是顶层const 无法重载 
/*
void fun(const int a){
} 
void fun(int a){
}
*/
//如果函数形参是引用却可以
//因为它是底层const 可以重载 
/*
void fun(const int &a){
} 
void fun(int &a){
}
*/
//重载的智能性有限 默认形参不能智能识别 
/* 都是error 
fun(5,6);
void fun(int a,int b = 0){
} 
void fun(int a,int b){
}
fun(5);
void fun(int a,int b = 0){	
} 
void fun(int a){	
}
*/

/*const 和 指针 
看*的位置 
*之前修饰指针所指向的类型 底层const 
*之后修饰指针本身 顶层const
const int a; 和 int const a;没区别
都是顶层const 修饰自身的 
*/


你可能感兴趣的:(谈谈 C++ 中 const * & 重载)