轻松读《Effective C++ 2/e》
来源:互联网 发布:sift算法源码 编辑:程序博客网 时间:2024/06/11 01:02
最近在读《Effective C++ 2/e》,不时被作者幽默的文字逗得发笑。可以这么说,这是我读过的最风趣的一本技术书。当然这也离不开侯捷大师精彩的翻译。如此轻松的翻下来,已经读完了全书的一半。当然,书中的内容都是基础性的C++内容,是每个C++程序员必须要掌握的知识。
举几处作者幽默的行文:
1.(P76)如你所见,别名(aliasing)问题会以变化多端的形貌出现,所以你不可以像鸵鸟一样,蒙着眼睛以为看不见就没事儿。或许你可以,但我们中的大部分是不可以的。
2.(P123)下面是面向对象式的罗曼蒂克对话:
Object A:亲爱的,不要变心啊!
Object B:别担心,亲亲,我是永恒不变的(const)。
但就像现实生活中的情况一样,A心里头暗自揣测:“B能够信赖吗?”而答案亦如现实生活一样,视B的天性而定;我的意思是视其member functions的构成而定。
3.(P127)举个例子,看看以下函数,它传回一个String object:
String someFamousAuthor()
{
switch(rand()%3)
{
case 0:
return "Margaret Mitchell"; //著有"Gone with the Wind",一本真正的经典之作
case 1:
return "Stephen King"; //他的小说让数百万人不得安眠
case 2:
return "Scott Meyers"; //嘻嘻,这个人的事迹和其他作者不同
}
return ""; //我们永远到达不了这儿,但是在一个“必须传回数值”的函数中,所有路径都必须传回一个值,唉!
}
4.(P133)众所周知,所谓程序员是一个具有草率个性的种族。我并不是说你一定很草率或我很草率,但程序员如果没有一丁点(我真的可以说吗?)古里古怪的倾向,是很罕见的。
5.(P134)要是真这么做的话,被众人以往应该是你最幸运的下场了。比较实际一点,你会被剥层皮或者是被判罚干10年苦差,负责为电熨斗和烤面包机写微芯片码(microcode)。
现在好好听着:如果你写一个函数,传回所谓的dereferenced pointer,那么简直就是坐视内存泄漏(memory leak)的发生。
6.(P137)即使拥有虚拟内存,inline行为所造成的程序代码膨胀现象会导致病态的换页(paging)行为(也就是所谓的thrashing现象),那会使你的程序慢得像蜗牛爬一样(不过倒是可以提供硬盘控制器一个好的运动机会)。
- 轻松读《Effective C++ 2/e》
- Effective C++ 2e: 从C转向C++
- Effective C++ 2e: 内存管理
- 读《Effective C++》所想
- Effective C++(2)读书笔记
- 《effective c++》读书笔记2
- More Effective C++(2)
- <Effective C++>读书笔记-2
- Writing Effective E-mail
- Writing Effective E-mail
- 读More Effective C++(1)
- 《Effective C++》 Reading Note 2
- 《Effective C++》 条款0-2
- Effective C++ 2e: 类和函数:设计与声明
- Mastering phpMyAdmin for Effective MySQL Management 2e
- 【C++】Digest of 《effective C++》--2
- 轻松解码类似eval(function(p,a,c,k,e,d){}))的JavaScript代码
- 读《C程序设计语言》2E-3 [1~3]章
- 如何向各种数据库中写入blob类型的记录
- Java Bindings for OpenGL 1 - JOGL简介与安装
- 几个较好的数据库分页过程
- “true”和“false(!true)”意义完全相反,差别却只有一个“!”
- Acegi Security System for Spring 书摘(II)
- 轻松读《Effective C++ 2/e》
- Google新动作频出 Google Trends发布
- 蓝牙的移植
- 谁不好好干,就叫他去印度开办事处
- 将一个背景图片加到对话框上作为背景
- 运10"的夭折
- 怀念马凤山总设计师
- 根据时间生成文件名的函数
- DotText源码阅读(6) --模版皮肤