const和指针

C++中得指针总是那么微妙,下面是我对关键字“const”修饰指针的一些理解。

通过const修饰指针有三种指针类型:

1.常量指针:指向常量或变量的指针,不允许通过指针修改它指向内存中的值

  例如:const int * p;

2.指针常量:指针本身是一个常量,不允许让这个指针指向其他的内存地址

  例如:int * const p;

3.常量指针常量:这个指针不允许修改它指向的内存地址也不允许修改它指向的内存地址中得值

  例如:const int * const p;

总之const 放在谁的面前,谁就不能被修改(这是我个人的理解)。

在开发中我们应尽可能地使用const来修饰指针,有以下连个理由:

1.这样可以避免由于无意间修改数据而导致的编程错误;

2.使用const使得函数能够处理const和非const实参,否则将只能接收非const数据

如果条件允许,则应该将指针声明为指向const的指针。

下面是我在XCode下写得例子,这个例子只为说明const 和指针的关系,并不能运行哦

const与指针

posted @ 2013-08-14 15:15  Geequlim  阅读(260)  评论(0)    收藏  举报