《
c++設計新思維》評價和勘誤及問題
advanced c++ design
-的中譯本
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
」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::lock guard(*this)
p18
:assignment
操作符exceptional c++
條款41
p21
:型別轉型:構造(目
)和操作符(源
)都有時用哪乙個
p25:
template<> struct compiletimechecker{};
-> template<> struct compiletimechecker{}; (
整體實現,區域性特化)對應
(整體無實現,區域性特化)
p29 line5
:無具名的命名空間
p35 line4
:省屏中選
p42 line10
:template
struct ptomtraits
-> template
struct ptomtraits
p43
-p44
:**未反應排除
references to references
未使用isreference
p78
:pimpl
手法sutter2000 exceptional c++
c++
程式庫:
stl、
boost
、loki
、ace by
:kangtian0
C 設計新思維(1)
本文所有的例證 在reactos 0.3.14 include c stlport type traits有所展示,這是reactos專案中的stl庫檔案 編譯期assertion template to safe reinterpret cast from from 要保證轉型時安全的,那麼必須保...
C 設計新思維 pdf格式
侯捷 於春景 合譯 c 設計新思維泛型程式設計與設計正規化 之 應用 前三章內容簡介如下 第 篇 技術 techniques 1 第1章以policy為基礎的class設計 policy based class design 3 1.1 軟體設計的多樣性 multiplicity 3 1.2 全功能...
C 設計新思維的traits和policy
這篇部落格講得挺清楚的,本來想自己寫寫看總結下的,不過看了下這個文章已經寫得很清楚了,倒沒有必要了,總得來說,要了解traits和policy,需要了解下面這三個點 1.什麼是特化,什麼是偏特化 顧名思義,特化就是針對一些特殊的型別進行變化,畢竟c 的模板是什麼型別都能放進去的,但是有些型別就是比較...