


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C 卄的学习方法及书籍推荐一我现在理解的 C+种种原因, 很多精力要投入到 java 的学习和使用中去了, 想形成一个学习 C+ 的系列文章,没有什么风格,也没有什么时间表,想到哪就去写。这里把以 前自己 另外一个 ID 发表的一篇文章的一局部作为这个系列的第一篇,算是开头 吧。学习C+重在理解其各种语言设施所代表的语义,以及C卄所能表示的语义 所 代表的设计思想。首先从宏观上入手,你需要明白的是C+是程丿子设计语言的 本质。在此我把C+最重要的性质写下來:C+是一门静态类型检查,基于C内存模式, 支持四种根本程序设计范型的语言。注意,这里说明了三个本质特性,静 态说明了 语言的类型检査性质,
2、基于C内存模式告诉我们在C+中所有与内存有 关的操作都 需要程仔员自己来负贵,这样就带来了很多设计程序时的需要注意的 地方,而理解 支持的四种根本范型却是理解各种语言设施的根底。然后记住 C+ 的最大的一点设 计哲学,也是其贯穿应用C+的一条本质,我引用?C+PRIMER?中文版前言内的 一句话表示一 “ C+的根底是各种设施,它们让用户能够通过定义新的数据类型來扩展语言本身,这些新类型可以与内置类型一样的使用方式 如何理解这句话是关 键,我的理解是 : 用户定义类型可以在任何使用内置类型的 时候做为其替代,再具 体点说就是用户定义类型可以象内置类型那样可以被声明 , 其对象可以被初始化, 可
3、以相互复制,可以象内置类型对象那样和很多操作符一 起使用,可以被作为参数 传递给函数,可以作为函数的返回值,可以作为容器的 操作对象,用户定义类型可以和内置类型一样作为模板的参数 ,生握这些设施哪些设施 ?就是让用户 定 义类型可以和内置类型一样方便使用的设施,包括什么?构造,拷贝,解构函 数, 操作副重载.的第一步就是理解根本语言什么是根本语言 ?就是C+中better c 局部。在此,我还想提出一点十分重要的概念 : 一门语言的最本质的东西就是其类 型 系统,任何语言都有白己的独特的类型系统,学习C+就是学习他的类型系统。 所以首先需要彻底明白什么是数据类型这个概念。 这样你的思路就清楚了
4、, 你有 选择, 从每一种C+支持的设计范型入手学习C结构化设计 也就是C+中的better c局部,你需要在C的根底上学 会函数 重载和引用这两个最重要的语言新特心性。基于对象一一你需要建立 C+最强大的概念一类,也就是用户定义类型, 这 其实就是数据结构里而接触的抽象数据类型的概念,以及合理构造使用类的一 系列 语言措施。并始终记住,在 C+进行设计时用类来表示我们需要表示的概念。 类也 是C+抽象机制里面最核心的概念。面向对象一一在这里你需要知道继承和多态这样的 00概念,以及句柄类这 样 常见的设计技术,这里你需耍明白你开始进入了对接口编程的阶段。同时你要 学会 00思想,C+的一些设
5、施只是为了把00思想在语言所支持的语义中充分的 表示出來。 但是在这里,同时你需要明白的 C+能表示的语义是受到其当初语言 设计原那么限制 的什么原那么?静态类型检查,不为不需要的东西付出代价,选择权 在程序员手上语言本身不去强迫程序员的做出选择,也就是说C+所能表示的00 思想可以称为具有C+特色的00思想了。这样的00思想和JAVA所代表的纯 00 哪个更好 ?没有定论,因为他们本身的设计理念就不一样。泛型设计一一这里你需要明白最重要的一点是C+的temlate机制无论其 开始建立的初衷是什么,现在他所代表的真实含义是 : 编译时类型推导,也就是 编译时多态,由此明白了泛型的核心-一把各种
6、类型当作一种抽象条件的具体化,C+有措施可以定义抽象条件吗 ?没有,所以这些条件只能定义在我们自己的心中 , 但我们可 以把具体化的类型当作一种抽象条件实现在 template机制中去,从而 使tempalte成 为比类型推导机制更进一步的东西,那就是抽象条件的推导。也 就是说,我们不再 把template接受的参数看成是类型,而是把template看成是 一种接受抽象条件的机 制,无论其类型如何,只要这种类型满足 tempalte所接受的抽象条件就可以作为参 数传递进去,这样就代表了一种泛型的思想类 型不再是根本,抽象条件才是, 类型不过是抽象条件的外衣和在 C+中的实现方 式而已。在结合基
7、于对象和泛型设 计这两种抽象设计模式的技术上诞生的工业产 品就是 STLo二书的诱惑?C+程序设计语言?:如果你只买一本 C+书,这木就是你的选择,作者Bjarne 就是让你做出这样选择的全部理由,没有人能比他更了解什么样才是真 正的 使用C+编程了,有人说到这本书语言晦涩,或者对与初学者此书不适合, 对此评 论我颇不以为然,我看的是中文版,起码在我看來语言描叙非常到位,我 喜欢这样 的技术描叙风格。全书的核心就是告诉你如何去用正确的观念编写正确 的C+的代 码。强烈推荐。?C+语言设计与演化?:这本书也是我同时拥有屮英两版的两本书之一另 外一本是?设计模式?。如果在得到上面的那本书之后你需要
8、第二本,那么在 我 看來这就是你的选择,作者同样是Bjarne,他将在这本书中告诉你C+的起源 与开展, 语言原那么与本质, 各种特性参加的理由和考量, 以及儿乎一切关于 C+ 有趣的故事。 我阅读过中英两版,都是强烈推荐。?C+标准程序库?:在 AMAZON Jt而关于C+书籍评论最为火暴的一本。 全 书对于标准程序库的介绍可谓深入浅出,而且全书都是从实际运用出发,书中例 子简单却非常说明问题,加上一些图表的陈列,使其概念十分清晰,而且从手册 和 学习两方面看都有其存在价值。强烈推荐。?EFFECTIVE C+中文版?:无须多说,在任何C+书籍推荐目录中都可以 找 到这本书的身影,盛名之下必
9、无虚士。主要强调的是运用 C+的各种特性的时 候所 必须注意的地方,以及一些比拟通用的设计手段。其短小精悍的语言自然非 常适合 快节奏的现代风格,个人就十分喜欢 Meyer 的写作方式。强烈推荐。?MORE EFFECTIVE C+ 中文版?:做为上本书的姐妹篇, 一样的写作风格, 一样的写作目的。只是个人认为和其姐姐相比,存在差距,主要是信息最没有?EFFECTIVE C+中文版?那么大,主要说到了一些 C卄的设计惯用手法。?C+ PRIMER 中文版?:同样是出自大师之手, 作者 LIPPMAN, 作为早期 C+ 编译器的实现者之一,对与C+的了解以及该如何论序都有自己的独到见解。做为C+的白科全书和?C卄程序设计语言?有着一样的地位。但是前者更强调 的是C+ 的语法和其语义,而后者那么是以如何用 C+进行合理设计做为描叙的中 心。全书构 思十分巧妙,书的一开始就直接进入 C+的主题,前面五章都用类设 计一个数据结 构,让读者完全明白了各种
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 变压器租赁服务3篇
- 供水合同规定供水工程合同3篇
- 充电站数据分析协议3篇
- 企业服务专业合同2篇
- 纸制品行业绿色发展趋势考核试卷
- 电力仪表的数字孪生模型考核试卷
- 胶合板生产场所的应急预案制定考核试卷
- 有色金属压延加工企业品牌建设考核试卷
- 2025-2026年研究和试验开展的核心技术概览
- 2025汽车购买合同简单版协议书
- 水利工程竣工自查报告
- 新疆维吾尔自治区新2024年中考数学模拟试卷附答案
- 2024年中国老年糖尿病诊疗指南解读(2024年版)
- 震后学校维修合同书
- 李白:《将进酒》经典省公开课一等奖全国示范课微课金奖课件
- 19S406建筑排水管道安装-塑料管道
- 教师如何有效地与家长沟通
- 第11课辽宋夏金元的经济社会与文化教学设计-高中历史必修中外历史纲要上册2
- 如何与客户建立有效的沟通
- 真空排水系统施工方案设计
- (完整版)建筑工程技术毕业论文
评论
0/150
提交评论