您的位置:首页 > 编程语言 > C语言/C++

c++ 的第一次亲密接触(一)

2014-08-20 23:31 239 查看
      c++还是大学时候学的,当时没好好学习,工作后写了两年的java,现在对c++忘的差不多了,前两天连基本语法都记不清了,更别提内存模型什么的了,于是痛下决心,买了本《C++ Primer Plus》英文版,准备潜心研读。

      因为是英文的,所以决定翻译一下,虽说是翻译,实际上应该是记些笔记而已,但是觉得所有内容都是从人家书上摘抄下来的,所以还是觉得放在翻译类别里吧。希望能够帮助记忆,如果有朋友不想看详细的内容的,也可以看看我摘抄的翻译部分,我念书的时候就挺喜欢这样的内容,看起来快,也应该有所帮助,尤其是对于考试;-)

      第一章是c++的简介。

      c++是在c的基础上发展而来的,支持面向对象编程,泛型编程。同时它也支持过程化编程。可谓身兼三职,或者说是三面间谍。

      1. 过程化编程继承自c的特性。

      2. 面向对象编程由c++ 在c的基础上通过引入class的概念而得到支持。曾经有人问我c++和java是不是纯粹的面向对象编程语言,我吱吱唔唔答不上来,现在明白了,c++不是,因为他支持面向过程编程,而java是,因为java所有的方法和域必须在类中。

      3. c++的template 模板方法支持了泛型编程,具体的解释其实我也还不是很清楚,后续的学习中再深入研究。

      先讲点C的花边,当初,大概是在20世纪70年代,贝尔实验室的Dennis Ritchie 写烦了汇编,想有个简单的编程语言,所以他就写了个C出来,牛人就是这样,自己不高兴了就写点新的东西,拓展一下其他人的世界观。然后我不才之辈拼了命也不得其万一。c兼具汇编的高效和英语的通俗易懂,非常适合多平台移植--只需要在不同平台上用不同的编译器编译一下就好了,如果用汇编的话得完全重写!所以说懒人改变世界!总之C一出就风靡世界。

      一般来讲,程序处理的概念就两个:数据结构和算法。

      用做饭类比的话,数据结构是食材,算法就是菜谱,这两样放到一起就可以做成中华小当家里面那些酷炫的能吃出大海感觉的料理了。

      C支持结构化编程的概念,在C之前的fortran 和basic是过程化编程语言,程序一些一大堆,搞的像意大利面,所以叫意大利面编程(spaghetti programming)。写完之后除了作 者,没人能看得懂,过一个月,作者自己也看不懂了。而C把逻辑判断分支for ,if ,while 这些加入关键字,支持了结构化编程,把代码的逻辑更加模块化,易于维护。

      自顶向下是C的又一新概念,其实就是把大的模块不断分成小的,小到很易于实现的时候就不再分了。面向对象写多了之后自顶向下就顺理成章了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息