~
在《c++的故事》这本书中,章杉了解到:
c++语言发展大概可以分为三个阶段:第一阶段从80年代到1995年。这一阶段c++语言基本上是传统类型上的面向对象语言,并且凭借着接近c语言的效率,在工业界使用的开发语言中占据了相当大份额;
第二阶段从1995年到2000年,这一阶段由于标准模板库(stl)和后来的boost等程序库的出现,泛型程序设计在c++中占据了越来越多的比重。当然,同时由于java、c#等语言的出现和硬件价格的大规模下降,c++受到了一定的冲击;
第三阶段从2000年至今,由于以loki、l(boost)等程序库为代表的产生式编程和模板元编程的出现,c++出现了发展历史上又一个新的高峰,这些新技术的出现以及和原有技术的融合,使c++已经成为当今主流程序设计语言中最复杂的一员。
根据《c++编程思想》(thinkinginc++)一书,c++与c的代码执行效率往往相差在±5%之间。
在《c++语言的设计和演化》(1994)中:
章杉了解到bjarnestroustrup描述了他在设计c++时,所使用的一些原则。知道这些原则有助于理解c++为何会是现在这个样子。
具体的原则虽然有些空泛,但章杉还是了解到:
和c语言相比,c++引入了更多的特性,包括:复合类型(引用类型等)、const限定符和constexpr常量表达式、类型处理运算符(类型别名及auto和decltype等多种类型指示符)、c++标准库(io库与多种容器类)与迭代器、动态内存与智能指针、函数重载、面向对象程序设计(如数据抽象、成员函数、类作用域、构造函数与析构函数等。
有着一大堆卓越级学习相关的能力,章杉现在的大脑就是一个全力运行的机器,没感情地处理着经视觉传达进脑海中的海量信息~
~~~
老实说,静享读书卡还是万般好处的,然而并不是没有弊端,就比如说现在章杉就只能在介子空间中进行理论学习,至于实际敲些代码是做不到~
不过理论知识也一样,有的人天生就适合理论知识的学习,章杉就是这类人。
说起c++的编译,crosoftvisualc++(简称visualc++、vc、vc++或vc)就能进行。
这款软件是微软公司的c++开发工具,具有集成开发环境,可提供编辑c语言,c++以及c++/cli等编程语言。
章杉因为最开始学c语言的时候也用的这一款软件,于是果断选择了和这个软件相应地介绍c++开发的书籍。
毕竟相对来说章杉对这款软件还是有相当程度的亲切感的。
vc++集成了便利的调试工具,特别是集成了微软windows视窗操作系统应用程序接口(windowsapi)、三维动画directxapi,crosoft框架。
说起来具体编译,c++主要有三个编译阶段:预处理、转译成目标代码和链接(最后的两个阶段一般才视为真正的“编译”)。
在第一阶段,预处理,会将预处理器指令替换成源代码,然后送到下一个编译阶段。
……
老实来说,有c语言经验学c++并不是特别难的一件事情。
和c语言更倾向于一把万用匕首不一样,c++更类似于一把功能极其复杂的瑞士军刀~
c语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。
c++是c语言的继承,它既可以进行c语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计。
尽管对章杉这程度自学不费力,但这段时间说起来还是相当漫长的时光~
毕竟1000个小时,可是相当于41天之多~
</div>