C++关键字之const

 

C++的const关键字一直让我很乱,这里把const关键字在程序中常用的三个地方分别总结出来:

1、  通过指针或引用访问普通变量

2、  通过对象调用成员函数,通过成员函数访问成员变量

3、  通过形参传递实参

 

const修饰指针、引用、普通变量(通过指针或引用访问普通变量)

 

非const变量

const变量

非const指针或引用

1、指针或引用能变指向

2、变量能变值

不合法

const指针或引用

1、指针或引用不能变指向

2、变量不能通过该指针或引用变值,但能通过其他方式变值

1、指针或引用不能变指向

2、变量不能变值

 

Const修饰类对象、成员变量、成员函数(通过对象调用成员函数,通过成员函数访问成员变量)

 

 

非const成员函数

const成员函数

非const对象

非const成员变量

可读取可修改

可读取不可修改

const成员变量

可读取不可修改

可读取不可修改

const对象

非const成员变量

const对象全部成员变量均为const的

const成员变量

const对象不能调用非const成员函数

可读取不可修改

 

Const修饰形参、实参(通过形参传递实参)

 

 

非const实参

const实参

非引用

非const形参

可接受

可接受

const形参(在函数中跟非const形一样,可修改)

可接受

可接受

引用

非const形参

可接受(不接受字面值、表达式、需转换类型的)

不合法

const形参

可接受

可接受

 

 

posted @ 2013-08-17 23:22  pangbangb  阅读(222)  评论(0编辑  收藏  举报