C++学习笔记一 —— 3.5 const限定修饰符

<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<1>.const类型限定修饰符把一个对象转换成一个常量(constant).例如const int bufsize= 512.
<2>.因为常量在定义后就不能被修改,所以它必须被初始化。未初始化的常量定义将导致编译错误。const double pi; // 错误:未初始化常量
<3>.一旦一个常量被定义了,我们就不能改变与const对象相关联的值。
<4>."试图将一个非const对象的指针指向一个常量对象"的动作都将引起编译错误。我们必须声明一个指向常量的指针来做这件事。例如const double *cptr."cptr"是一个指向const对象的指针"。其中微妙在于cptr本身不是常量。我们可以重新赋值cptr,使其指向不同的对象,但不能修改cptr指向的对象。const对象的地址只能赋值给指向const对象的指针,但是指向const对象的指针可以被赋以一个非const对象的地址。
<5>.int *const curerr,"curerr是指向非const对象的const指针",不能给curerr其他的地址值,但可以修改curerr指向的值,并且它只能指向非const对象。
<6>.const double *const pi,pi指向的对象的值以及它的地址本身都不能被改变,pi是指向const对象的const指针。 <script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
阅读更多
文章标签: c++
个人分类: VC和VC++
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭