《C++设计新思维》评价和勘误及问题
来源:互联网 发布:电子音乐贺卡制作软件 编辑:程序博客网 时间:2024/04/29 12:07
《C++设计新思维》评价和勘误及问题
Advanced C++ Design- Generic Programming and Design Patterns Applied的中译本
Andrei Alexandrescu著 侯捷 於春景译 华中科技大学出版社
这本书后面时间的缘故,已经没有认真,因此本文章仅大致作为记录,谢绝参考!
评价:书的内在是一本好书,讲了很多的设计策略和如何使用模板来进行设计。但是,书中的表达方式我就不敢恭维了。侯捷,居然还算是一个名作家,不管是他翻译还是审校,都有不可推卸的责任:书中到处都有不符合语法规则的表达,到处都是不通顺的语句。不过,他好像还对此非常自豪,我呸!我的建议是:看看《人月神话》的翻译,侯捷就该回去学学小学生汉语。
因为下面的原因,里面的内容不一定准确和完整:
1、 最前面的3个章节看得很早;
2、 最后面的4个章节看得很匆忙,因为没时间了,图书馆的书,时间到了,要还;
3、 中间有很多地方看得不够认真,因为需要的时候可以再查。
勘误部分:
P12 1.6节:typedef WidgetManager< PrototypeCreator > MyWidgetManager;中模板PrototypeCreator没有参数;
P13 1.7节:Policies只能用来被继承(保护析构函数)
P14 1.9节:threading model(多线程模型)->thread model(线程模型)
实作-> 实现
P18: ExtendWidgetclass -> ExtendedWidgetclass
P20:降低相依性 ->见地依赖性
P20:因应设计的多样性 ->考虑/兼顾设计的多样性
P21 Line8:容器 -> 协调器
P21 Reverse Line1:更动 -> 变化
P23:外覆类 ->包装类
P24 Reverse Line1:端视 -> 而视
P29 Reverse Line9:才知道 -> 就已经知道
P29 Reverse Line8:泛形 -> 泛型
P32 Line4:多载化(重载) -> 重载
P34 Reverse Line4:模板具现 -> 模板实例化
P43 Line10:删除“isStdFloat||”
P37 const可以两次,但reference不允许 P43
P44 Line16:删除“这玩意儿”
P45 Line14:last—first -> last – first
P43 Reverse Line2 isPrimitive和P45 Reverse Line17、18 isStdStandard都没有,并且表达的东西应该一致
P46 Line6:删除“Int2Type<true>”
P46 Line16:缺少参数result
P48 Line5:裁制 -> 定制
P74 Line6: MuEventHandler -> WidgetEventHandler
P77Line4~6:逻辑
P80 Reverse Line14、Reverse Line16:array(译注:基类是vector)错误
P91 Line12:polymorphic错误
P100 Line8:“虚线”没有
P103 Reverse Line6:“Windows” -> “windows”
P142 Line5~7: P143 Reverse Line2~3:alloc -> malloc
P268 Reverse Line22:增加一个参数class TypesLhs
P278 Reverse Line18:增加“class”
问题部分:
P7:无法特化结构指什么
模板内定义成员,成员未其子类,则产生无限循环(类模板不能有非指针成员?)
P15:提供一个名为Lock的内部型别
使用:typename ThreadingModel<SmartPtr>::Lock guard(*this)
P18: assignment操作符 Exceptional C++条款41
P21:型别转型:构造(目)和操作符(源)都有时用哪一个
P25:template<> struct CompileTimeChecker<flase>{};
-> template<> struct CompileTimeChecker<true>{};
(整体实现,局部特化)对应(整体无实现,局部特化)
P29 Line5:无具名的命名空间
P35 Line4:省屏中选
P42 Line10:template<class U,class V>
Struct PToMTraits<U,V::*>
-> template<class U,class V>
Struct PToMTraits<U::*>
P43-P44:代码未反应排除references to references 未使用isReference
P78:Pimpl手法 sutter2000 exceptional C++
C++程序库:STL、Boost、Loki、ACE
by:kangtian0
- 《C++设计新思维》评价和勘误及问题
- 《C++设计新思维》勘误,附C++14新解法
- 《设计模式》勘误和疑问
- STL泛型编程和设计新思维
- STL泛型编程和设计新思维
- 标注问题及评价
- App的设计评价问题
- C++设计新思维系列丛书
- c++设计新思维 -- Int2Type
- C++设计新思维读书笔记(二)
- C++设计新思维 -- 精彩书评
- 看完《C++设计新思维》了
- c++设计新思维_读后感
- C++设计新思维(1)
- 《对象揭密:Java,Eiffel和C++》勘误与评述
- CnComm勘误及Faq
- 二分查找及勘误
- 推荐几本书《C++编程思想》、《C++设计新思维》、《设计模式》、《more effect c++》、《STL源码解析》
- 于Excel文件上传读取数据的问题
- 无所不在的超女
- 不用JDBC:ODBC bridge直接操作Access 数据库
- 头脑风暴法
- 关于何种情况下使用DataGrid、DataList或Repeater的一些讨论(1) ambushaa [翻译] [转]
- 《C++设计新思维》评价和勘误及问题
- 审视自己几乎全部都有呢!呵呵
- 心理学中的几个效应
- WDM中的结构(2) ---驱动程序对象
- 基于VC++的OpenGL编程讲座之概述
- 深入剖析Java编程中的中文问题及建议最优解决方法--上篇
- 深入剖析Java编程中的中文问题及建议最优解决方法--下篇
- LINUX 常见问题1000个详细解答
- WDM中的结构(3)---设备对象