Chinaunix首页 | 论坛 | 博客
  • 博客访问: 517020
  • 博文数量: 91
  • 博客积分: 9223
  • 博客等级: 中将
  • 技术积分: 1777
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-02 17:37
个人简介

!!!!!!!!!!!!

文章分类

全部博文(91)

文章存档

2013年(3)

2012年(4)

2011年(37)

2010年(36)

2009年(9)

2008年(2)

分类: LINUX

2010-09-13 09:58:11

1.  对于常量(符号常量)和常指针、常引用常对象声明都是一样的

定义格式:

const 数据类型  常量名=常量值;

  数据类型 const 常量名=常量值;

 

例如:const int a=7; int const a=7;(符号常量)

  int b=5; 

 const int *p=&b;  int const *p=&b;(常指针)

const int &m=b;(常引用)

const Point pt; Point const pt; //常对象不能更新

常指针和常引用在功能上有所限制,就是不能通过他们更改其指向的变量的数据(值)

 

2. 指针常量

定义格式:

数据类型 *const 指针常量=常量值;

char ch,*const pch=&ch;(我是一步完成的,你也可以分开)

也就是说这个指针本身是个常量,不可改变,即它所指向的地址是固定的。但,ch是可以改变的。

 

 

 

有两种形式:

 

1.指向const的指针

使用指针定义的技巧,正如任何复杂的定义一样,是在标识符的开始处读它并从里向外读。

const指定那个“最靠近”的。这样,如果要使正指向的元素不发生改变,我们得写一个像这

样的定义:

const double* point;

从标识符开始,是这样读的:“x是一个指针,它指向一个const int。”这里不需要初始化,因为说x可以指向任何东西(那是说,它不是一个const),但它所指的东西是不能被改变的。

 

 

 

2.const指针

使指针本身成为一个const指针,必须把const标明的部分放在*的右边,如:

int d=1

int* const x=&d

现在它读成“ x是一个指针,这个指针是指向i n tconst指针”。因为现在指针本身是const指针,编译器要求给它一个初始化值,这个值在指针寿命期间不变。然而要改变它所指向的值是可以的,可以写* x = 2

也可以使用下面两种合法形式中的任何一种形式把一个const指针变为一个const对象:

int d=1

const int* const x=&d // (1)

int const* const x2=&d // (2)

现在,指针和对象都不能改变。

一些人认为第二种形式更好。因为const总是放在被修改者的右边。但对于特定的代码类型

来讲,程序员得自己决定哪一种形式更清楚。

阅读(1658) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-12-31 20:43:11

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com

chinaunix网友2010-12-31 20:42:54

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com