C++ Primer 0_序言


  悟空_救我      126   
  2021-01-20      C++      

因为对未知的好奇,而学校课程又在我这届非常遗憾的砍掉了C++,所以在此之前我已经通过网络学习了部分C++的知识,并为之着迷,在此我打算忘掉过去,将一切的一切从此开始,跟随三位大师重新领略一番C++语言的魅力,打好坚实的基础。
虽然大多数人觉得序言部分可以直接忽略,但是我觉得里面还是可能隐藏着一些"秘宝",尤其是像《C++ Primer》这种大部头的经典。
首先明了一点,即C++之父Bjarne Stroustrup说过的:
世界上只有两种编程语言,一种是整天被人抱怨的,还有一种是没人用的。
本文只做序言部分的摘抄:

推荐序1

“C++正在成为一门完美的程序设计语言”
“完美的程序设计语言”,听起来很好,但代价是语言变的越来越复杂

学习语言的一个境界是把自己想象成编译器,这种要求对于一般的程序设计语言可能太高了,但是对于学习C和C++语言是最理想的方法。像编译器一样来思考和理解C++语言,如果暂时做不到,也不要紧,当有了一定的编写程序经验以后,在“揣摩”编译器行为的过程中可逐渐掌握C++语法特性。因此,本书值得阅读多遍,每多读一遍,就会加深理解。

在实践中,不必全面的使用C++语言的各种特性,而应根据工程项目的实际情况,适当取舍。
通常只鼓励使用C++语言的一个子集就够了
全面地学习C++语言仍然是必要的,毕竟C++语言是一个整体,并且C++语言标准库自身全面地使用了C++语言的各种特性。

推荐序2

一种优秀的编程语言,一定要对与计算这件事情实现一个完整和自洽的抽象。十几年来编程语言领域的竞争,除却实现质量之外,基本上是在比拼抽象的设计。而C语言之所以四十年长盛不衰,根本在于它对于现代计算机提供了一个底层的高级抽象:凡是比它低的抽象都过于简陋,凡是比它高的抽象都可以用C语言构造出来。C++成功的根本原因,恰恰是因为它虽然试图提供一些高级的抽象机制,但是其根基与C在同一层面。正因为如此,每当你需要走下去直接与硬件对话时,C++成为C之外唯一有效率的选择。我的一个朋友在进行了多年的大型系统软件开发之后,无不感慨地说,C++最大的力量不在于其抽象,恰恰在于其不抽象。
话虽如此,但是C++之所以脱离C而存在,毕竟还是因为其强大的抽象能力。

C++11对于C++98而言,不是一次简单的升级,而是一次本质的跃升。

推荐序3

拥抱变化,沐浴新知

C++为何具有如此强大的生命力?
首先,这和它背靠着C语言这种“标准通用汇编”是分不开的,C++是作为一种“高级的C”而存在的,它始终可以看作是一种C语言的简写法,任何一句C++都有着深刻的C语言背景,可以直接落实为C语言,进而落实为任何一种计算机最底层的机器码。这一点,,是任何解释型语言都做不到的,因而在效率上他们无法和C++比拼。
另一方面, C++又有着强大的抽象能力,它以奇妙的方式融合着5种编程范式,即面向过程、基于对象、面向对象、泛型和函数式,在将所有范型的优点提炼并发挥到极致的同时,又不拘泥于其中的任何一种。
C++语言是彻底的拿来主义和实用主义,因而它不会在“是否应该提供单根结构以保持面向对象的纯洁性”这样的问题上纠缠不清,它只会考查每一种语言特性将落实为怎样的编译结果,哪种编译结果符合“不为用不到的特性付出成本”、“与现存代码可以兼容”等若干简明的规则,这种语言特性就按照哪种方式来定义和实现。现有的编程语言中,没有哪种可以在灵活性和效率的平衡上能达到C++的高度。
同时,C++语言不是某个公司的产品,它的设计和标准化是由一个独立工作的委员会进行的,人们没有必要担心有一天C++会被某个公司控制起来,并为使用它而付出高昂的商业成本。
C++语言可以有各种各样的商业编译器或专有领域编译器,但是由开源社区积极维护的免费编译器,始终都唾手可得。这一切,加上C++与时俱进的实现更新、配套完善的标准跟进,都使得C++语言的生命力长盛不衰。

英语单词primer的意思是“启蒙读本、入门书”,但是,如同《算法导论》可不仅仅是算法入门教科书这么简单一样,《C++ Primer》的深度和广度也远远不止入门级的教科书范围。

什么是一门语言的核心部分?就是指一门语言不需要其他任何库(包括标准库)支持的那部分。只要是一个符合标准的C++语言的编译器,无论运行在什么硬件和操作系统上,只要程序员使用的是C++语言,就应该可以使用的那部分语言特性。
作者:明海一

ps:以上是C++ Primer 0_序言全部内容,希望文章能够帮你解决C++ Primer 0_序言所遇到的游戏开发问题。
本文收录在 游戏编程 🕹️ - 学习C++专题,分享走一走~

猜你喜欢 全系列


您可以在登录后,发表评论




    关于作者
    游戏开发者 - 80
  • 悟空_救我
  • 码神
  • 647 文章  √   5 提问  ?
    此作者缺少注释。


    目录