摘要:
auto_ptr:唯一拥有权 智能指针(智能指针是一个对象)保证,无论在何种情形下,只要自己被摧毁,就一定连带释放其所指资源。而由于智能型指针本身就是区域变量,所以无论是正常退出,还是异常退出,只要函数退出,它就一定会被摧毁。 只有auto_ptr可以拿来当做另一个auto_ptr 的初值,普通指针 阅读全文
摘要:
[另]读书笔记:千万别学英语前 言 著名语言学家Greg Thomson说的:“外语学习的原理是如此之复杂,以至于没有人能说清楚;但掌握语言的过程又是如此之简单,以至于不需要说清楚。”讨论语言学习的原 理,是件非常复杂的事,在下当然也没把握能描述得很清楚。而且因为外语学习就连学术界都存在很... 阅读全文
摘要:
天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。没有什么天才。大家都是普通人。有些勤奋,有些懒惰。有些事半功倍,有些事倍功半。而已。——————————————————————————————from 学而时嘻之 by 同人于野随着畅销书《异类》的流行,“练习一万小时成天才”这个口号现在是尽... 阅读全文
摘要:
一、配接器 《Design Patterns》一书提到23个最普及的设计模式,其中对adapter样式的定义如下:将一个class的接口转换为另一个class 的接口,使原本因接口不兼容而不能合作的classes,可以一起运作。 1. 配接器概观与分类 STL 所提供的各种配接器中,改变仿函数接口者 阅读全文
摘要:
一、仿函数(也叫函数对象)概观 仿函数的作用主要在哪里?从第6章可以看出,STL所提供的各种算法,往往有两个版本,其中一个版本表现出最常用(或最直观)的某种运算,第二个版本则表现出最泛化的演算流程,允许用户“以template参数来指定所要采行的策略”。以sort()为例,其第一版本是以operat 阅读全文
摘要:
一、算法概观 以有限的步骤,解决逻辑或数学上的问题,这一专门科目我们称为算法。特定的算法往往搭配特定的数据结构,例如binary search tree(二叉搜索树)和 RB-tree 便是为了解决查找问题而发展出来的特殊数据结构。几乎可以说,特定的数据结构是为了实现某种特定的算法。本章所讨论的,是 阅读全文
摘要:
在 红黑树详解 文章中,二叉搜索树具有对数平均时间的表现是构造在这样的假设下的:输入数据有足够的随机性。 本篇介绍的hashtable(散列表)的数据结构,在插入、删除、搜寻等操作上也具有“常数平均时间”的表现,而且这种表现是以统计数据为基础,不需仰赖输入元素的随机性。 1. hashtable 概 阅读全文
摘要:
一、关联式容器 标准的STL关联式容器分为set(集合)/map(映射表)两大类,以及这两大类的衍生体multiset(多键集合)和 multimap(多键映射表)。这些容器的底层机制均以RB-tree(红黑树)完成。RB-tree也是一个独立容器,但并不开放给外界使用。 此外,SGI STL 还提 阅读全文
摘要:
在介绍红黑树之前,有必要对树的概念以及相关理论作一个概述: 树 1. 树的导览 树由节点(Nodes)和 边(edges)构成。树有根节点(root),边(deges),父节点(parent),子节点(child),叶节点(leaf)。如果最多只允许两个子节点,即所谓的二叉树(binary tree 阅读全文
摘要:
最近又从离职同事那里听到这样的抱怨(原因),说做的事没有技术含量。想一想,从事车载软件开发这个行业快8年了,这个话题似乎从来没有停过。我自己曾经也为自己做的事是否有技术含量而苦恼过,今天就专门花点时间聊一聊。为什么会觉得没有技术含量?真正思考过这个问题的人很少。简单粗暴地概括,大部分人(我所遇到的全... 阅读全文