在引用与传递参数中,尽可能使用const。
将参数声明为常量数据的引用原因有3条
1.使用const 可以避免无意中修改数据的错误编程。
2.使用const 使函数能够处理const 和非const 实参,否则将只能接受非const 数据。
实验如下:
#include <iostream>
using namespace std;
void swap(int &a, int &b){
int temp = a;
//a = b;
//b = temp;
}
void see_a_b(int &a, int &b){
int temp = a;
//a = b;
//b = temp;
}
int main(){
/*
{
double a, b;
a = 5;
b = 6;
cout << a << b << endl;
swap(a, b);
cout << a << b << endl;
}
*/
{
const int a = 5;
const int b = 6;
cout << a << b << endl;
see_a_b(a, b);
cout << a << b << endl;
}
return 0;
}
(如果函数调用的参数不是左值或与相对应的const引用参数的类型不匹配,则C++将创建类型正确的匿名变量,
将函数调用的参数的值传递给该匿名变量,并让参数来引用该变量)
3.使用const 引用使函数能够正确的生成并使用临时变量。
引用和继承派生之间的关系:
基类引用可以指向派生类对象,而无需进行强制类型转换。
调用函数的时候,可以将基类对象作为参数,也可以将派生类对象作为参数。