2016年第一讲——C++与C的关系分析重点.pptVIP

2016年第一讲——C++与C的关系分析重点.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2016年第一讲——C与C的关系分析重点

const说明的形参可被同类型的非const实参初始化。 #include iostream.h void F1(const int x) { cout x endl; } void F2( int x) { cout x endl; } void main(void) { const int y = 20; int x = 5; F1(x); // 合法 F2(y); // 亦合法 } 例中,函数F1中可使用常整型和非常整型的实参。 函数F2中的形式参数定义为非常整型,主函数中的y定义为常整型,函数调用时意味着x是可以修改的。 当然改的不是y,而是x. (2) 当const类型说明符用于说明指针类型变量时,有三种情况:冻结所定义的指针变量所指向的数据,冻结指针的地址值,或者冻结指针变量所指向的数据和指针的地址值。对于指针变量的这三种情况,const类型说明符的用法将不同。例如: void main(void) { int x = 5, y = 6; const int *p1 = x; // 定义指针所指向的量为常量 int * const p2 = x; // 定义指针自身为常量 const int * const p3 = x; // 指针所指向的量和指针自身为常量 p1 = y; // 修改指针地址操作合法 //*p1 = 4; // 修改指针地址内的值操作非法 //p2 = y; // 修改指针地址操作非法 *p2 = 3; // 修改指针地址内的值操作合法 //p3 = y; //修改指针地址操作非法 //*p3 = 3; // 修改指针地址内的值操作非法 } (3) 当const类型说明符用于函数的形式参数时,其作用是冻结实际参数在该函数内为常量,即该参数不允许在函数内被修改。形参可以是const int x或const int rx。 (4) 当const类型说明符用于类的成员函数时,其作用是不允许该成员函数修改对象的数据成员。这样的例子将在类与对象的章节中介绍。 使用const的好处: 它允许指定一种语意上的约束——某对象不能被修改。编译器将严守这一约束,对函数进行检查。这实际上是函数对调用者所作的承诺。 常量必须在定义时就初始化。 2.6 函数形式的类型转换 C++语言对变量提供了函数形式的显式类型转换。任何系统定义的基本数据类型或用户自定义的数据类型的类型名,都可以作为函数名使用,从而把变量(或常量)从一种数据类型转换到另外一种数据类型。函数形式的类型转换例子如下: int i = 20; float x = 23.9; i = int(x); 在C语言中,上述例子的显式类型转换方法是: i = (int)x; 3. 引 用 类 型 引用类型是C++语言新增加的一个类型,引用类型用标识符 表示。引用是给变量或对象起一个别名,即引用引入了一个变量或对象的同义词。当建立引用时,程序用另一个变量或者对象的名字初始化它。从那时起,引用就作为目标的别名而使用,对引用的改动实际上是对目标本身的改动。 C++语言增加引用类型主要用在三个方面: (1) 定义变量或对象的别名; (2) 定义函数的参数为引用型; (3) 定义函数的返回值类型是引用型。 引用变量必须在定义时初始化,此后就再也不能改变了,这个意义上讲它是常; 给引用变量赋值,修改的是它所依附的变量本身的内容,而不是引用改换门庭,这正是引用与指针的区别所在。 int ii = 0; jj = 10; const int ci = ii; // ci 成为ii的另一个名字 ci = jj; // 不是让ci成为jj的别名,而是想把ii的值变成10 // 错误,因为ci是const型,其主人不可改 ci = 2; // ii也变成2了 int test = 1; // 不行,因为1是常量,类型不符 const int index = 1; // 可以,index就是常量1 引用的初始化方式: #includeiostream.h void main() { int i=110; int * p = i; int r = * p; cout i *p r endl; int *q = new int ( 220

您可能关注的文档

文档评论(0)

tfbbw + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档