Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > primer学习笔记2 const
【标  题】:primer学习笔记2 const
【关键字】:primer,const
【来  源】:http://blog.csdn.net/haskio/archive/2006/06/09/781518.aspx

primer学习笔记2 const

Your Ad Here

const
把一个对象转换成一个常量(constant)
例如  const int size =10;
size的值将不能改变,在程序中任何改变这个值的企图都将导致编译错误。
因此称为只读(read——only)属性
因为常量在定义后就不能被修改,所以必须被初始化,否则将导致错误。


被const修饰过的对象可以被指针指向,但是必须是const类型的指针,这么说可能有些晦涩。换个说法,指针可以指向const类型的对象,但是必须是const类型的指征。
定义一个const类型的指针 
const int *pi

这是由于指针的超灵活性,比如你可以直接修改地址里的值,而便机器却不管用于那个地址的值是不是属于const类型的,所以任何“试图将一个非const对象的指针指向一个常量对象” 的动作都将引起编译错误,从语法上限制,呵呵。

来看
const int *pi
pi是一个指向int类型的,被定义成const的对象的指针。
不过pi指向的对象不能被修改,但是pi可以重新被赋值指向其他对象。

const对象的地址只能赋值给指向const对象的指针。但是,指向const对象的指针可以被赋给一个非const对象的地址,不过不能通过它修改它所指向的地址的指。
把一个const指针指向一个对象(const或者非const类型都可行,反正都没办法改,)//目前关于这点,尚不太理解,                                                                                                                                    //有些说法没有完全理解  

int *const pi = &i  // int i;


pi是指向一个非const对象(或许const对象,看i而定)的cont指针

实际应用中,指向const的指针常被用作函数的形参,用来作为一个约定的保证。
如  int strcmp(const char *str1,const char *str2);

指向const对象的const指针的定义是把const对象的定义 和 指向const对象的指针的定义结合起来
定义const对象    const int i
定义const指针    const int *const pi =  &i   // const int i;

My solution for SRM 306 DIV2 [250]:【上一篇】
Java线程学习和总结:【下一篇】
【相关文章】
  • c++中const的用法详解
  • c++ primer 笔记1 开篇
  • const 用法指南
  • A Primer for HTTPR
  • 理解const限定符
  • C++ Primer读书笔记
  • static_cast<>/dynamic_cast<>/const_cast<>
  • 不能将“this”指针从“const Vector3D”转换为“Vector3D &" 错误
  • const的用法说明
  • 17.3 Constants
  • 【随机文章】
  • 几个常用的 WinDbg 命令
  • 控制流结构
  • SQLServer 事务处理 杂记
  • 《大道至简》的幕后故事(2):“愚公移山记”人物篇
  • linux 2.6内核epoll用法举例说明
  • 特别是看滚动字母的
  • 让XSP支持中文
  • CSDN BLOG呀
  • 鬼与农夫(一个平凡的小故事,给人的震撼却无法形容)
  • struts+hibernate分页
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.