泛型程式設計與STL

出版时间:2001  出版社:碁峰  作者:Matthew H. Austern  译者:黃俊堯,侯捷  
Tag标签:无  

图书封面

图书标签Tags

评论、评分、阅读与下载


    泛型程式設計與STL PDF格式下载


用户评论 (总计6条)

 
 

  •     ——题记:大概有三个多月没有写博客了吧,其实不是没有写文字了,而是因为这三个月以来实在是遇到了太多的困惑、怀疑与迷茫了。打开每天写的《心路》,总是发现以前文字的浅躁,于是,在否定与坚定,迷茫与寻找之间,我度过了三个月。对于这些还封存在我电脑中的记录,我会找出一个时间,好好的整理出来。
      
      或许你看到这篇“三个月”之后的第一篇“博客”,竟然是一篇计算机文章?哈哈,我开始写计算机博客了,从这篇文章开始,我会将自己学习的每门有体会的课程和自己自学或是做项目的经验总结写出来。一方面是为了和其他的朋友共享交流,另一方面,我更觉得,通过用自己的语言写读书笔记、经验总结或者一些研究性之类的写作,可以让自己对技术理解的更为透彻。也希望各位朋友多的交流和指正。
      
       概念与实体
      
       ——《泛型编程与STL》学习笔记
      
      1. “增加间接层来增强抽象性以及统一性”
      
      Iterator就是这样的一个东东。它对指针的泛型封装,或者说对位于range中的对象数据的泛型封装,使得不同数据类型有了参数化的一致,也使得单个对象本身和对象的前后对象有了“相同”的联系,从而统一了所有不同的数据类型和外界的统一接口。
      
      这个思想也可应用于很多的领域,切记。
      
      2. 概念与实体
      
      概念Concepts与实体Model的关系就好像class与object.。前者是定义好了的一组接口或条件。后者是满足此条件和接口的实例。前者是虚,后者为实。就好比“牛”与“我家的那头老黄牛”。
      
      这时我突然想到一个经常会提,但其实我从未深想的问题:
      
      Q:先是有概念,还是先有实体?
      
      A1:几乎是直觉:当然是先有实体了。正是因为有了一大堆的实体,再归纳抽象这些实体的共性,从而形成概念。《泛型编程与STL》也告诉我们:研究一个概念,先看实际算法,看看算法需要一个满足怎样条件的Model,比如find算法,只需要可“读”型Iterator,因此才有了Input Iterator概念。
      
      A2:不对。应该是概念,或者说理念先于实体。我家的那头黄牛还没有出生,就已经有了牛的概念。你或许会说那头黄牛之前还有其他牛。但是,所有的面包都是在面包模具制作好了之后开始制作的。如果你是一个唯物主义者,在宇宙产生之初,一定已经有了一系列条件,这些条件先于任何物质。如果你信上帝,是上帝根据自己的样子创造了人类,这也说明“人”的概念先于任何个人。
      
      3. 层次、树与有向无环图
      
      突然发现自己对这几个看起来如此简单的概念都理解的都不准确。只要是有方向的关系,就称他为有层次的,有层次的不就是树型吗?如C++中的类的继承可以叫层次体系吗?
      
      其实类的继承形成的体系准确点应该说是有向无环图。而不是层次体系,更不是树型。
      
      树的定义是只有一个输入,有0或多个输出。层次的概念应该是根沿着有向边走到一个点的所有路径长度应该相等。而有向无环图的概念不言自明,是不含环路的有向图。树一定是层次结构,且是有向无环图,层次结构也一定是有向无环图,反之则不成立。请看下面这两个图。左图是层次结构,右图是有向无环图。
      
      (原图见http://blog.sina.com.cn/s/blog_47f511e0010084oe.html,谢谢)
      
      由此可见,我们日常默认到视而不见的概念,其实都不是很清楚的。不信,我问你:
      
      函数的概念你清楚吗?
      
      缓冲与cache有区别吗?hash与map呢?
      
      虚心到底为何意?中庸?
      
      好人?你觉得自己是一个好人吗?
      
      我们为什么要排队买东西?
      
      你的优势是什么?劣势呢?
      
      你到底想要什么?
      
      ……
      
      别急,我正在整理出从最常见的词语,到各种现象;从各种知识到我们的专业知识的各个概念。去用自己辩证的思维独立的思考。到时候,你也会和我一样对此深信不疑的。
      
      2007-12-5于北大图书馆
      
  •   你归纳的第一点第二点,很不错,很到位。可以说是这本书的核。这本书比较抽象,可惜我时间不够,读不痛快。另外我赞同A1条款。
  •   刚开始读,对各种各样的概念虽然觉得有点挠头,不过幸好有之前看过的《C++标准程序库》打底,代码和分析部分基本阅读流畅,由此归纳的概念也能了解一二,不过想要掌握,估计还得多读几次。
    对于你说的概念与实体谁先谁后,我觉得是蛋鸡之辩,并无太大意义。你要说是先有实体,那么我们所读的科幻小说中的那些事物,未来何尝不能产生?但是现在却没有实体。你要说是先有概念,那么进化中的生物无时无刻不在变化,某个时间段内,某种生物变化成另一种生物(这种变化我认为是随机发生的,也就是说我不认同宇宙之初只要给定初始参数就能决定这个宇宙的一切发展轨迹),那么这个还是概念在前吗?
    重要的是掌握归纳概念的方法,有益于加强我们对事物的理解,让我们做事情时能够游刃有余。
  •   概念与实体谁先谁后? 萨特的存在主义就是讨论这事的,人家说对于物,概念先于实体;但对于人则是实体先于概念(存在先于本质)
  •   马克思说:先有实体;黑格尔说:先有概念。
  •   实体和概念的先后问题不能用简单的二分法来分析
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7