考试网 >> IT认证 >> 等级 >> 二级考试 >> C++里const关键字相关问题

C++里const关键字相关问题

发布时间:2006-07-25 12:10     点击:
分页:[1] 2 3 4 5 6 7  下一页

Const 最早想法是用于取代预处理器#define 这个宏,从而形成常量的概念。针对常量const对象,const指针及指向const的指针,函数const类型参数,const 函数返回类型, const类成员,及const成员函数,及对const最后理解的一些总结来描述 const。

① const对象和const类型的对象

对于这两个概念的描述如下

1. int const Object; //Object是一个const量是不可以被修改 Object = 2;Error

2. const int Object; //Object是 const int型他所存放的内容不可以被修改

对于1,2这两种const用于对象,表述虽然不同但是效果是一样的。因为对象本身存放着内容对对象的改变就是对于对象内容的改变,同样改变后者也是在改变前者。所以语义上一样的。

② const指针 和 指向const的指针 及两者结合

对于三个概念描述如下

1. int* const p; //指针p是const不能被修改 例如p++; //修改p本身会Error

//修改p指向内容 *p = 2; //OK

2. const int* p; //p是指向一个整形常量的指针指向的内容不可以改变 p++;//OK

// *p = 2; //Error

3. const int* const p; //指针p本身是不能被修改并且p所有有效的内容也不能被

//修改 *p = 2; Error 和 p++; Error

③ const 参数修饰 和 参数返回类型的const修饰

1.const 参数修饰

此时函数参数修饰 const的具体用法 ① ②中用法是一样的

例如 void Fun( const int I ) { I++;} //Error不能修改常量I

2.const修饰函数返回类型用法也是类似于 ①②中,仅仅修饰的对象变化变成一个返回对象

例如:const int Fun() { static int I; return I;}

int Res = (Fun())++ //Error不能修改常量返回对象

④ const类成员 和 const 成员函数

1. const成员

类const成员在构造期间会允许被初始化并且在以后不能被改变。我们就可以知道类const成员和一般const 变量是有所不同的,类const成员是对应于每个对象而言才有意义。因为他在构造期被初始化,只有当类实例化后才会进行构造。所以类const成员可以这样描述: 在类的每一次实例化时被初始化,在这个对象的生存周期中不可改变。
分页:[1] 2 3 4 5 6 7  下一页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有