-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

D程序設計語言

( 簡體 字)
作者:[美] Andrei Alexandrescu 類別:1. -> 程式設計 -> 綜合
譯者:
出版社:人民郵電出版社D程序設計語言 3dWoo書號: 35647
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:6/1/2013
頁數:330
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787115314192
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

D語言是一種通用的系統和應用編程語言,它保持了生成高效代碼以及直接訪問操作系統API和硬件的能力。《D程序設計語言》是一本介紹D語言的權威書籍,全面、系統、專業地講解了D語言相關的內容。書中涵蓋了D語言的方方面面,不但介紹了語言的表達式、語句、類型、函數、契約、模塊、類和結構等基本內容,還通過常見示例,深入解釋了所有語言特性,講解了如何將語言特性進行組合以支持重要的編程范型,闡述了每一項主要特性的基本原理,對它們的最佳用途給出了建議,并對跨領域的問題(如錯誤處理、契約編程和并發性)進行了討論。此外,書中還通過大量的圖表,為使用D語言解決日常問題提供了快速參考。其細致入微的講解讓人幾乎覺得有些“?嗦”,但正是這些“?嗦”內容更能加深人們對D語言程序設計的理解,進而拓展到對一般意義上的編程語言程序設計的理解。
  《D程序設計語言》不僅適合于D語言初學者,對于想學習編譯器實現的研究人員、想拓展學生的編程語言知識面的教師以及想深入了解編程語言設計的人,也能提供很好的幫助和指導。
目錄:

第1章 進入D世界 1
1.1 數字與表達式 2
1.2 語句 4
1.3 函數基礎 5
1.4 數組與關聯數組 6
1.4.1 構建詞匯表 6
1.4.2 數組分割、泛型函數、單元測試 8
1.4.3 頻率統計、λ函數 9
1.5 基本數據結構 11
1.6 接口和類 15
1.7 值與引用 19
1.8 小結 20

第2章 基本類型、表達式 21
2.1 符號 22
2.2 字面量 23
2.2.1 布爾字面量 23
2.2.2 整數字面量 23
2.2.3 浮點數字面量 24
2.2.4 字符字面量 26
2.2.5 字符串字面量 26
2.2.6 數組與關聯數組字面量 29
2.2.7 函數字面量 30
2.3 操作符 31
2.3.1 左值和右值 31
2.3.2 隱式數值轉換 31
2.3.3 數值操作符的類型 34
2.3.4 基本表達式 34
2.3.5 后綴表達式 37
2.3.6 一元表達式 38
2.3.7 冪表達式 41
2.3.8 乘法表達式 41
2.3.9 加法表達式 41
2.3.10 移位表達式 41
2.3.11 in表達式 42
2.3.12 比較操作符 43
2.3.13 按位操作符 44
2.3.14 邏輯與 45
2.3.15 邏輯或 45
2.3.16 條件操作符 45
2.3.17 賦值表達式 46
2.3.18 逗號表達式 46
2.4 小結和快速參考 46

第3章 語句 49
3.1 表達式語句 49
3.2 復合語句 50
3.3 if語句 50
3.4 static if語句 51
3.5 switch語句 53
3.6 final switch語句 54
3.7 循環語句 55
3.7.1 while語句 55
3.7.2 do-while語句 55
3.7.3 for語句 55
3.7.4 foreach語句 56
3.7.5 數組foreach 57
3.7.6 continue語句和break語句 58
3.8 goto語句 59
3.9 with語句 60
3.10 return語句 61
3.11 throw語句和try語句 61
3.12 mixin語句 62
3.13 scope語句 63
3.14 synchronized語句 66
3.15 asm語句 67
3.16 小結和快速參考 67

第4章 數組、關聯數組和字符串 70
4.1 動態數組 70
4.1.1 長度 71
4.1.2 邊界檢查 72
4.1.3 分割 73
4.1.4 復制 73
4.1.5 相等性比較 74
4.1.6 拼接 75
4.1.7 數組表達式 75
4.1.8 收縮 76
4.1.9 擴張 77
4.1.10 對.length賦值 79
4.2 固定大小的數組 80
4.2.1 長度 81
4.2.2 邊界檢查 81
4.2.3 分割 81
4.2.4 復制和隱式轉換 82
4.2.5 相等性比較 82
4.2.6 拼接 83
4.2.7 數組運算 83
4.3 多維數組 83
4.4 關聯數組 85
4.4.1 長度 85
4.4.2 讀寫槽 86
4.4.3 復制 86
4.4.4 相等性比較 86
4.4.5 移除元素 87
4.4.6 迭代 87
4.4.7 將自定義類型作為鍵 88
4.5 字符串 88
4.5.1 代碼點 88
4.5.2 編碼 89
4.5.3 字符類型 90
4.5.4 字符數組 + 優勢 = 字符串 91
4.6 數組的遠房表親:指針 93
4.7 小結和快速參考 95

第5章 數據與函數、函數式 98
5.1 編寫一個簡單函數并進行單元測試 98
5.2 傳遞約定和存儲類別 100
5.2.1 ref參數與返回 101
5.2.2 in參數 102
5.2.3 out參數 102
5.2.4 static數據 103
5.3 類型參數 103
5.4 簽名約束 105
5.5 重載 106
5.5.1 偏序函數 108
5.5.2 跨模塊重載 110
5.6 高階函數、函數字面量 111
5.7 嵌套函數 113
5.8 閉包 114
5.9 超越數組、范圍、偽成員 116
5.9.1 偽成員和@property屬性 117
5.9.2 reduce——不只是證法 119
5.10 可變參數函數 120
5.10.1 同構可變參數函數 120
5.10.2 異構可變參數函數 121
5.11 函數屬性 124
5.11.1 純函數 124
5.11.2 函數屬性nothrow 127
5.12 編譯時計算 127

第6章 類、面向對象風格 132
6.1 類 132
6.2 對象名就是引用 133
6.3 對象的生命周期 136
6.3.1 構造函數 137
6.3.2 轉發構造函數 138
6.3.3 構造步驟 139
6.3.4 析構與解除分配 140
6.3.5 拆毀步驟 141
6.3.6 靜態的構造函數與析構函數 142
6.4 方法和繼承 143
6.4.1 術語大雜燴 144
6.4.2 繼承就是子類型化,靜態類型和動態類型 145
6.4.3 改寫只能是自愿的 146
6.4.4 調用被改寫的方法 147
6.4.5 協變返回類型 148
6.5 靜態成員的類級封裝 149
6.6 使用final方法來限制擴展性 149
6.7 封裝 151
6.7.1 private 152
6.7.2 package 152
6.7.3 protected 152
6.7.4 public 152
6.7.5 export 153
6.7.6 封裝到什么程度 153
6.8 一統天下的根類 155
6.8.1 string toString() 156
6.8.2 size_t toHash() 156
6.8.3 bool opEquals(Object rhs) 156
6.8.4 int opC mp(Object rhs) 159
6.8.5 static Object factory(string className) 160
6.9 接口 161
6.9.1 非虛接口(NVI)慣用法 162
6.9.2 protected原語 164
6.9.3 選擇性實現 165
6.10 抽象類 166
6.11 嵌套類 168
6.11.1 函數嵌套類 170
6.11.2 靜態嵌套類 171
6.11.3 匿名類 172
6.12 多重繼承 172
6.13 多重子類型化 175
6.14 參數化的類和接口 177
6.15 小結 180

第7章 其他自定義類型 181
7.1 結構 182
7.1.1 復制語義 183
7.1.2 將結構對象傳遞給函數 184
7.1.3 結構對象的生命周期 184
7.1.4 靜態構造函數和析構函數 192
7.1.5 方法 193
7.1.6 靜態成員 197
7.1.7 訪問指示符 197
7.1.8 嵌套結構和類 198
7.1.9 在函數內部嵌套結構 199
7.1.10 結構子類型化與@disable屬性 199
7.1.11 字段布局與對齊 202
7.2 聯合 204
7.3 枚舉值 206
7.3.1 枚舉類型 208
7.3.2 枚舉特性 208
7.4 別名 209
7.5 使用模板實現參數化作用域 211
7.6 使用mixin模板注入代碼 214
7.7 小結與參考 216

第8章 類型修飾符 217
8.1 immutable修飾符 218
8.2 immutable的書寫 220
8.3 immutable參數和方法 221
8.4 immutable構造函數 222
8.5 immutable相關的轉換 223
8.6 const修飾符 225
8.7 const與immutable進行交互 226
8.8 將修飾符從參數傳送至結果 226
8.9 小結 227

第9章 錯誤處理 229
9.1 拋出與捕捉 229
9.2 類型 230
9.3 finally子句 232
9.4 nothrow函數和Throwable的特殊本質 233
9.5 附屬異常 234
9.6 棧展開與異常安全代碼 235
9.7 未捕捉的異常 237

第10章 契約編程 238
10.1 契約 239
10.2 斷言 240
10.3 前置條件 241
10.4 后置條件 243
10.5 不變量 244
10.6 跳過契約檢查與發行版本 246
10.6.1 enforce不(完全)是assert 247
10.6.2 assert(false) 248
10.7 契約:請不要用于洗滌輸入 248
10.8 契約與繼承 250
10.8.1 繼承與in契約 250
10.8.2 繼承與out契約 252
10.8.3 繼承與invariant契約 253
10.9 接口里的契約 253

第11章 擴展性 255
11.1 包和模塊 255
11.1.1 import聲明 256
11.1.2 模塊搜索根目錄 257
11.1.3 名字查找 258
11.1.4 public import聲明 260
11.1.5 static import聲明 261
11.1.6 選擇性導入 262
11.1.7 在導入里重新命名 262
11.1.8 module聲明 264
11.1.9 模塊摘要 264
11.2 安全性 267
11.2.1 定義行為和未定義行為 267
11.2.2 @safe、@trusted和@system屬性 268
11.3 模塊的構造函數與析構函數 269
11.3.1 模塊內的執行順序 270
11.3.2 跨模塊的執行順序 270
11.4 文檔注釋 271
11.5 與C和C++進行交互 271
11.6 deprecated聲明 272
11.7 version聲明 272
11.8 debug聲明 273
11.9 D語言標準庫 273

第12章 操作符重載 275
12.1 重載操作符 276
12.2 重載一元操作符 276
12.2.1 使用mixin加強操作符定義 277
12.2.2 后增值與后減值 278
12.2.3 重載cast操作符 278
12.2.4 三元操作符重載測試和if測試 279
12.3 重載二元操作符 280
12.3.1 操作符重載的平方 281
12.3.2 交換律 281
12.4 重載比較操作符 282
12.5 重載賦值操作符 283
12.6 重載索引操作符 284
12.7 重載分割操作符 285
12.8 $操作符 286
12.9 重載foreach 286
12.9.1 帶有迭代原語的foreach 286
12.9.2 帶有內部迭代的foreach 287
12.10 在類里定義重載操作符 289
12.11 完全不一樣的重載:opDispatch 290
12.12 小結與快速參考 292

第13章 并發性 294
13.1 并發門 295
13.2 數據共享簡史 296
13.3 快瞧瞧,沒有(默認)共享 299
13.4 啟動線程 300
13.5 線程間的信息交換 302
13.6 receive的模式匹配 303
13.6.1 首次匹配 305
13.6.2 匹配所有消息 305
13.7 文件復制——稍有改變 305
13.8 線程終止 307
13.9 帶外通信 308
13.10 郵箱堵塞 309
13.11 shared類型修飾符 310
13.12 shared數據操作及其效果 312
13.13 使用synchronized類實現基于鎖的同步 313
13.14 synchronized類里的字段類型化 316
13.14.1 臨時保護==無脫離 317
13.14.2 局部保護==尾部共享 317
13.14.3 強制同質的互斥量 319
13.14.4 不可思議:shared可被強制轉換掉 320
13.15 死鎖與synchronized語句 320
13.16 使用shared類進行無鎖編碼 321
13.16.1 shared類 322
13.16.2 幾種無鎖結構 323
13.17 小結 325

參考文獻 327
序: