本文总结了c++中const作用,以供读者参考。
1.const用于定义常量。
const定义的常量编译器可以对其进行数据的静态类型安全检查。这一点有别于通过宏的方式定义常量。
2.const修饰函数的形式参数。
当输入的参数是用户自定义的类型和抽象的数据类型时,应该将值传递改为以const &的形式。如下形式:
void fun1(B b);//自定义类型B采用值传递。效率较低
void fun2(B const &b);//自定义类型B,采用const &传递的方式。使用引用传递可以提高效率,不需要产生临时对象,节省了临时对象构造。复制析构过程的消耗时间。使用const就不会改变b;
3.const修饰函数的返回值
函数的返回值是指针的类型,在前面如果加了const,返回值也只能赋值给带有const的类型。
如:
const int* fun(void){。。。}
const int *ret = fun();
4.const修饰类的成员函数
int fun(void) const;
任何不会修改数据成员的函数都应该使用const修饰,以便能够在修改了数据成员或者是调用了非const成员函数的时候,编译器能够报错。