c++中const的作用有哪些?

1、定义常量

const定义的常量编译器可以对其进行数据静态类型安全检查

2、修饰函数形参

**当输入参数为用户自定义类型和抽象数据类型时,将“值传递”改为“const &传递”,可以提高效率。

例如:

void fun(A a);  //fun函数产生A类型的临时变量用于复制参数a,临时变量的构造、复制、析构过程都将产生时间损耗。

void fun(A const &a); //“引用传递”不需要产生临时对象,节省了时间,但在应用过程有可能改变a,故加const。

3、修饰函数返回值 

给“指针传递”的函数返回值加const,则返回值不能被修改,且该返回值只能被赋值给加const修饰的同类型指针。

const int *Getvalue(void){};

int *iv=Getvalue();//error

const int *iv=Getvalue();//correct

4、修饰类成员函数(函数定义体) 

任何不会修改数据成员的函数都应该应用const修饰。

int Getvalue(void) const; //**注意const放的位置(放在最后)

猜你喜欢

转载自blog.csdn.net/zztingfeng/article/details/81262178