第六章_数组__指针及字符串.ppt

  1. 1、本文档共161页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 2011/11/15 * * * * * * *************************2010/11/12 * * * * * 2011/04/13 * * * * * * * * * * //12月份的几笔账目 accounts[0].deposit(Date(2008, 12, 5), 5500, salary); accounts[1].withdraw(Date(2008, 12, 20), 4000, buy a laptop); //结算所有账户并输出各个账户信息 cout endl; for (int i = 0; i n; i++) { accounts[i].settle(Date(2009, 1, 1)); accounts[i].show(); cout endl; } cout Total: SavingsAccount::getTotal() endl; return 0; } * 6.7 综合实例——个人银行账户管理程序 例6-25(续) 例6-25(续) 运行结果如下: 2008-11-1 #S3755217 created 2008-11-1 created 2008-11-5 #S3755217 5000 5000 salary 2008-11-25 10000 10000 sell stock 0323 2008-12-5 #S3755217 5500 10500 salary 2008-12-20 -4000 6000 buy a laptop ? 2009-1-1 #S3755217 17.77 10517.8 interest S3755217 Balance: 10517.8 2009-1-1 13.2 6013.2 interest Balance: 6013.2 Total: 16531 * 6.7 综合实例——个人银行账户管理程序 指针与引用的对应关系 //使用指针常量 void swap(int * const pa, int * const pb) { int temp = *pa; *pa = *pb; *pb = temp; } int main() { int a, b; …… swap(a, b); …… return 0; } //使用引用 void swap(int ra, int rb) { int temp = ra; ra = rb; rb = temp; } int main() { int a, b; …… swap(a, b); …… return 0; } * 6.8 深度探索 —— 6.8.1 指针与引用 指针与引用的联系 引用在底层通过指针来实现 一个引用变量,通过存储被引用对象的地址,来标识它所引用的对象 引用是对指针的包装,比指针更高级 指针是C语言就有的底层概念,使用起来很灵活,但用不好容易出错 引用隐藏了指针的“地址”概念,不能直接对地址操作,比指针更安全 * 6.8 深度探索 —— 6.8.1 指针与引用 引用与指针的选择 什么时候用引用? 如无需直接对地址进行操作,指针一般都可用引用代替 用更多的引用代替指针,更简洁、安全 什么时候用指针? 引用的功能没有指针强大,有时不得不用指针: 引用一经初始化,无法更改被引用对象,如有这种需求,必须用指针; 没有空引用,但有空指针,如果空指针有存在的必要,必须用指针; 函数指针; 用new动态创建的对象或数组,用指针存储其地址最自然; 函数调用时,以数组形式传递大量数据时,需要用指针作为参数。 * 6.8 深度探索 —— 6.8.1 指针与引用 指针的地址安全性问题 地址安全性问题 通过指针,访问了不该访问的地址,就会出问题 典型问题:数组下标越界 问题的严重性:有时会在不知不觉中产生错误,错误源很难定位,因此程序调试起来很麻烦 解决方案 指针只有赋了初值才能使用(这一点普通变量也应遵循) 指针的算术运算,一定要限制在通过指向数组中某个元素的指针,得到指向同一个数组中另一个元素的指针 尽量使用封装的数组(如vector),而不直接对指针进行操作 * 6.8 深度探索 —— 6.8.2 指针的安全性隐患及其应对方案 指针的类型安全性问题 基本类型数据的转换是

您可能关注的文档

文档评论(0)

0520 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档