随笔 · 2021年7月22日 0

C++ Primer 和C++ Primer Plus

初学者更适合看Primer还是Primer Plus?

        前一段时间因为学习需要和兴趣,想要更深入地学习C++为OOP服务的各类特性。因为在学校的的课上对C++面向对象的内容接触非常有限,所以决定好好啃一本书,跟着敲敲代码。同时笔者前一段时间就遇到了上面那个问题,这两本都是相当经典的C++学习书籍。选择恐惧症患者纠结了半天就干脆两本都买了,对照着看。

        总的看了有两个月了,刚好对这个问题有自己的看法。

        看着两本书之前自己对C++的掌握程度差不多是:类之前的内容比较熟练,结构体也能相对熟练地用,但是对于类仅限于敲有一个有成员函数、简单的构造函数,像结构体一样用类。对其他构造函数析构函数、继承、派生、多态基本不了解用法。同时C++11以后的很多新特性完全不了解。

        从我的学习体验来看,Primer Plus的解释和代码才是让初学者更看得懂的,整体知识点的前后是阶梯式的,你不会在前面的章节看到还没具体讲的内容。但问题在于每一个模块过于冗长,同一个特性或内容会有特别大篇幅去讲,非常建议适当跳着看。有很多类似于“回”字有五种写法的内容,这可能也是C++的优势或者劣势?总之C++过于灵活的语法给学习会带来一些困难,可能以后会真香?最近在维护一些工程也看了很多别人的C++代码,确实不同人的风格不太一样。

        而primer的内容比较全,讲解比较干练,但是整本书的知识架构属于耦合性比较大的,这本书很大的一个特点是经常前面的代码实例会出现很多没讲过的语法特性,然后一段代码实例会告诉你需要跳转到哪一页看。所以如果确实零基础看起来会比较头痛。但好处是效率高,会在有限的篇幅将清内容,看primer plus之后再看primer就很爽了,也会很有收获。非常适合作为学习后的复习资料和字典书籍

这篇博客会随着我C++的学习长期更新,所以如果随着我的应用或学习,一旦对C++和这两本书有了不一样的看法就会及时分享。如果有啥不同的看法或者觉得我的看法有那些问题,欢迎评论区分享!