c/c++中const的用法

来源:互联网 发布:淘宝购物怎么走返利 编辑:程序博客网 时间:2024/06/06 09:33

1.const int Max = 100; //表明Max以后不能修改,是个常量



2.char* const Content;//指针本身是常量不可变

3.const char *Content;//指针所指向的内容是常量不可变

4.const char* const Content;//指针和指针所指向的内容两者都不可变



5.void function(const int Var);//传递过来的参数在函数内不可以改变(无意义,因为Var本身就是形参)

6.void function(const char* Var);//参数指针所指内容为常量不可变

7.void function(char* const Var);//参数指针本身为常量不可变(也无意义,因为char* Var也是形参)


8.void function(const Class& Var); //引用参数在函数内不可以改变

9.void function(const TYPE& Var); //引用参数在函数内为常量不可变


10.const int fun1() //这个其实无意义,因为参数返回本身就是赋值。
11.
const int *fun2() //如果调用时 const int *pValue = fun2(); 
                          //
我们可以把fun2()看作成一个变量,即指针内容不可变。
12.
int* const fun3()   //如果调用时 int * const pValue = fun2(); 
                          //
我们可以把fun3()看作成一个变量,即指针本身不可变。

13.c++相关

class A

  …

  const int nValue;         //类成员常量不能被修改

  

  A(int x): nValue(x) { } ; //只能在初始化列表中赋值

14const修饰成员函数

const修饰类的成员函数,则该成员函数不能修改类中任何非const成员函数。一般写在函数的最后来修饰。

class A


  void function()const; //常成员函数它不改变对象的成员变量.                        

//也不能调用类中任何非const成员函数。
}

a. const成员函数不被允许修改它所在对象的任何一个数据成员。

b. const成员函数能够访问对象的const成员,而其他成员函数不可以。

c.const修饰类对象表示该对象为常量对象,其中的任何成员都不能被修改。对于对象指针和对象引用也是一样。

d.const修饰的对象,该对象的任何非const成员函数都不能被调用,因为任何非const成员函数会有修改成员变量的企图。



原创粉丝点击