因为程序中各种形式的数据共享,在不同程度上破坏了数据的安全性。引入常类型的目的是,为了保证数据共享又防止数据被改动。
常类型是指使用类型修饰符 const 说明的类型,常类型的变量或对象成员的值在程序运行期间是不可改变的。
本文将从三方面入手:常引用、常对象和常对象成员。
一、常引用
- 常引用: 在说明引用时用 const 修饰的引用。
- 如果用 常引用作形参,便不会产生对实参的不希望的更改。
- 常引用的说明形式:
const 类型 &引用名;
例如:
int a=5;
const int &b=a;
其中,b 是一个常引用,它所引用的对象不允许更改。如果出现:b=22;
则非法。
例 1:常引用作函数参数。
在实际应用中,常引用往往用来作函数的形参,这样的参数称为 常参数。
用常引用作形参,能够避免对实参的更改,保证数据的安全。
#include<iostream>
using namespace std;
int add(const int &i,const int &j); //函数 add 的形参是常引用
int main(){
int a=20;
int b=30;
cout<<a<<"+"<<b<<"="<<add(a,b)<<endl;
a=15;
b=50;
cout<<a<<"+"<<b<<"="<<add(a,b)<<endl;
return 0;
}
int add(const int &i,const int &j){
//i=i+50; //不允许改变 i 的值,error是 assignment of read-only