const修饰符

来源:互联网 发布:sql unix timestamp 编辑:程序博客网 时间:2024/05/19 14:37

const的优势:

① 被const修饰的变量是只读的,可以防止意外的修改。

② const相当于定义符号常量,可以和宏定义一样做到只修改程序开头的定义,来改变所有对应的值。

③ 宏定义做的是值替换,而const修饰的变量从汇编的角度来看只是给出对应的地址。

④ const的效率更高,编译器并不会给const变量分配内存,而是将其作为一个符号常量。


const被用于指针:

① const type* pointer    

     pointer所指的对象储存的值不能被修改。

② type* const pointer

     指针本身储存的地址值不能被更改。


const被用于函数:

在用于函数的部分,比较重要的就是当向函数传递参数时,为了提高效率,一般把形参设置为引用类型,而有时候不想修改传入的参数,可以用const修饰形参,既保证效率,又保证稳定。

type func(const type& variable){};


const被用于类成员:

① const修饰的类成员变量不能被修改,且只能通过构造函数赋值。

     

class test{private:       const type variable;······};

② const修饰的类成员函数不能修改其所在类的所有成员,也不能访问类的其它非const成员(const成员函数只能访问const成员),不过这个const要被放在函数名后面。

class test{public:       type func() const;};

暂时先记这些,其它感觉暂时用不到。