如果说我最大的缺点有哪些,那大概就是我的记忆力和脾气一样差了。从今天起,把自己归归零,把看过的和还没看的书重新开始再仔细地读一遍。每每读完一书,记录于此。以为鼓励,亦作督促。——2015.7.16
《C++ Primer》 7.23
当时第五版刚出的时候就兴冲冲的买了,差不多有两三年了吧,但是耐着性子从头看到尾的只有过一次。后来零星地看过一些章节,平时用到bitset、随机数等的时候偶尔也翻过。这次用了两周的时间,又仔细地看了一遍,但是看到后面依然是很吃力。虽说是“primer”,但是一些知识点实在不好琢磨。右值引用、move这些不但不好理解,打心里都不想接受。另外,不得不吐槽,C++琐碎的知识点实在是太----------多了,过几天还得再翻一遍。
现在讲C++11的书几乎没有,新的《C++标准库》还没出中文版。《C++ Primer》可能是唯一一本学习C++11的书了吧。再接再厉吧。
《Effective C++》 7.26
之前第二版第三版都认真地读过。但是不理解之处众多。这次重读第三版对C++各种细节有有了进一步的理解。特别是刚才读第47条(traits)时,看到使用重载来替代if...else判断“编译期核定成功”之类型时,眼睛都湿润了(就是这么感性)。而随后读到TMP实现阶乘时,又一次会心地笑了(为什么要说又)。Scott Mayers说的没错,这真真是"比冬天吃冰淇淋还要酷"。(虽然并没有打算现在就跑去拜读传说中的《模板元编程》)。祭出这段神奇的代码:
template<unsigned n>
struct Factorial {
enum {value = n * Factorial<n-1>::value};
template <>
struct Factorial<0>{
enum {value = 1 };
}
//use:
std::cout << Factorial<5>::value; //120
《More Effective C++》7.28
内容是接着《EC》第二版写的,有些过时,但是依然精彩。看到第28条时也终于搞懂了智能指针的operator->:
//smart pointer 的 operator->
sm->mf();
//相当于
(sm.operator->)->mf();
(这行代码可是比《primer》里啰里啰唆的一大串清晰明白得多了)
总是,operator*返回引用,operator->返回指针。
关于技术的几个章节,内容有些深,看的比较草率。
《Effective STL》 7.30
读着更像是一本对STL的责难清单,总觉得作者Scott Meyers对STL充满了无奈与厌恶。毕竟STL的确缺点不少。纷乱的名字,未统一的语法,使用户一不小心就会落入陷阱。但是就像作者说的,总比没有强:D。
通过《Primer》了解到,C++11对STL进行了积极的改进。所以书中一些条款也不再适用。比如bind 和 占位符 代替了bind1st 和 bind2nd, 新加了std::function,关联容器的erase也不再返回void等
看完这本书,我在想是否可以对STL再进行一下简单的封装,弄一个更统一的接口出来。等找完工作不妨试一试。
《TCP/IP详解》 《图解TCP/IP》8.2
两本书结合着看,效果还行。但是只是草草的过了一遍,不能称得上读,算是温习吧(所以就换个浅点的颜色吧... ...)。要找工作了,实在是耐不住性子了......
明天去图书馆看看《TCP/IP入门经典》会不会好读一点。
《TCP/IP入门经典》8.4
书的内容很全面,但是必经是入门书,很多知识点讲的不够深入。Anyway, 关于网络基础就先告一段落吧。
《CleanCodeHandbook》 LeetCode 8.7
LeetCode精选的50道算法题,虽然是英文版,但每道题目的讲解都非常精彩。代码也都异常精炼。LeetCode,欠你们的这15刀未来再还吧。(这样一想,需要还的还真多。。。。)
《C++数据结构与算法》4th Edition 8.12
并没有体现太多的C++,大多是伪码。没有《算法I-IV C++实现》写的好。但是新内容比较多,每章后的实例是一个亮点。
《深度探索C++对象模型》 8.18
后面的依然没有读完,重点看了前4章。感觉考点很多啊。
总之,这本书非常有助于理清思路,加深对面向对象的理解。(虽然合上书思路就又成乱麻了…………)