首 頁
手機(jī)版

D程序設(shè)計(jì)語言 Andrei Alexandrescu pdf掃描版

D程序設(shè)計(jì)語言是市面上唯一一本D語言的權(quán)威書籍,由世界頂尖的技術(shù)專家、D語言諸多特性的設(shè)計(jì)者、大多數(shù)D語言標(biāo)準(zhǔn)庫的作者Andrei Alexandrescu編著。本書內(nèi)容豐富,通過大量的圖表,為使用D語言解決日常問題提供了快速參考。其細(xì)致入微的講解讓人幾乎覺得有些“啰嗦”,但正是這些“啰嗦”內(nèi)容更能加深人們對D語言程序設(shè)計(jì)的理解,進(jìn)而拓展到對一般意義上的編程語言程序設(shè)計(jì)的理解,非常適合于D語言初學(xué)者,對于想學(xué)習(xí)編譯器實(shí)現(xiàn)的研究人員、想拓展學(xué)生的編程語言知識(shí)面的教師以及想深入了解編程語言設(shè)計(jì)的人,也能提供很好的幫助和指導(dǎo)。

內(nèi)容介紹

《D程序設(shè)計(jì)語言》言是一本介紹D語言的權(quán)威書籍,全面、系統(tǒng)、專業(yè)地講解了D語言相關(guān)的內(nèi)容。書中涵蓋了D語言的方方面面,不但介紹了語言的表達(dá)式、語句、類型、函數(shù)、契約、模塊、類和結(jié)構(gòu)等基本內(nèi)容,還通過常見示例,深入解釋了所有語言特性,講解了如何將語言特性進(jìn)行組合以支持重要的編程范型,闡述了每一項(xiàng)主要特性的基本原理,對它們的最佳用途給出了建議,并對跨領(lǐng)域的問題(如錯(cuò)誤處理、契約編程和并發(fā)性)進(jìn)行了討論。

章節(jié)目錄

第1章 進(jìn)入D世界
1.1 數(shù)字與表達(dá)式
1.2 語句
1.3 函數(shù)基礎(chǔ)
1.4 數(shù)組與關(guān)聯(lián)數(shù)組
1.4.1 構(gòu)建詞匯表
1.4.2 數(shù)組分割、泛型函數(shù)、單元測試
1.4.3 頻率統(tǒng)計(jì)、λ函數(shù)
1.5 基本數(shù)據(jù)結(jié)構(gòu)
1.6 接口和類
1.7 值與引用
1.8 小結(jié)
第2章 基本類型、表達(dá)式
2.1 符號(hào)
2.2 字面量
2.2.1 布爾字面量
2.2.2 整數(shù)字面量
2.2.3 浮點(diǎn)數(shù)字面量
2.2.4 字符字面量
2.2.5 字符串字面量
2.2.6 數(shù)組與關(guān)聯(lián)數(shù)組字面量
2.2.7 函數(shù)字面量
2.3 操作符
2.3.1 左值和右值
2.3.2 隱式數(shù)值轉(zhuǎn)換
2.3.3 數(shù)值操作符的類型
2.3.4 基本表達(dá)式
2.3.5 后綴表達(dá)式
2.3.6 一元表達(dá)式
2.3.7 冪表達(dá)式
2.3.8 乘法表達(dá)式
2.3.9 加法表達(dá)式
2.3.10 移位表達(dá)式
2.3.11 in表達(dá)式
2.3.12 比較操作符
2.3.13 按位操作符
2.3.14 邏輯與
2.3.15 邏輯或
2.3.16 條件操作符
2.3.17 賦值表達(dá)式
2.3.18 逗號(hào)表達(dá)式
2.4 小結(jié)和快速參考
第3章 語句
3.1 表達(dá)式語句
3.2 復(fù)合語句
3.3 if語句
3.4 static if語句
3.5 switch語句
3.6 final switch語句
3.7 循環(huán)語句
3.7.1 while語句
3.7.2 do-while語句
3.7.3 for語句
3.7.4 foreach語句
3.7.5 數(shù)組foreach
3.7.6 continue語句和break語句
3.8 goto語句
3.9 with語句
3.10 return語句
3.11 throw語句和try語句
3.12 mixin語句
3.13 scope語句
3.14 synchronized語句
3.15 asm語句
3.16 小結(jié)和快速參考
第4章 數(shù)組、關(guān)聯(lián)數(shù)組和字符串
4.1 動(dòng)態(tài)數(shù)組
4.1.1 長度
4.1.2 邊界檢查
4.1.3 分割
4.1.4 復(fù)制
4.1.5 相等性比較
4.1.6 拼接
4.1.7 數(shù)組表達(dá)式
4.1.8 收縮
4.1.9 擴(kuò)張
4.1.10 對.length賦值
4.2 固定大小的數(shù)組
4.2.1 長度
4.2.2 邊界檢查
4.2.3 分割
4.2.4 復(fù)制和隱式轉(zhuǎn)換
4.2.5 相等性比較
4.2.6 拼接
4.2.7 數(shù)組運(yùn)算
4.3 多維數(shù)組
4.4 關(guān)聯(lián)數(shù)組
4.4.1 長度
4.4.2 讀寫槽
4.4.3 復(fù)制
4.4.4 相等性比較
4.4.5 移除元素
4.4.6 迭代
4.4.7 將自定義類型作為鍵
4.5 字符串
4.5.1 代碼點(diǎn)
4.5.2 編碼
4.5.3 字符類型
4.5.4 字符數(shù)組 + 優(yōu)勢 = 字符串
4.6 數(shù)組的遠(yuǎn)房表親:指針
4.7 小結(jié)和快速參考
第5章 數(shù)據(jù)與函數(shù)、函數(shù)式
5.1 編寫一個(gè)簡單函數(shù)并進(jìn)行單元測試
5.2 傳遞約定和存儲(chǔ)類別
5.2.1 ref參數(shù)與返回
5.2.2 in參數(shù)
5.2.3 out參數(shù)
5.2.4 static數(shù)據(jù)
5.3 類型參數(shù)
5.4 簽名約束
5.5 重載
5.5.1 偏序函數(shù)
5.5.2 跨模塊重載
5.6 高階函數(shù)、函數(shù)字面量
5.7 嵌套函數(shù)
5.8 閉包
5.9 超越數(shù)組、范圍、偽成員
5.9.1 偽成員和@property屬性
5.9.2 reduce——不只是證法
5.10 可變參數(shù)函數(shù)
5.10.1 同構(gòu)可變參數(shù)函數(shù)
5.10.2 異構(gòu)可變參數(shù)函數(shù)
5.11 函數(shù)屬性
5.11.1 純函數(shù)
5.11.2 函數(shù)屬性nothrow
5.12 編譯時(shí)計(jì)算
第6章 類、面向?qū)ο箫L(fēng)格
6.1 類
6.2 對象名就是引用
6.3 對象的生命周期
6.3.1 構(gòu)造函數(shù)
6.3.2 轉(zhuǎn)發(fā)構(gòu)造函數(shù)
6.3.3 構(gòu)造步驟
6.3.4 析構(gòu)與解除分配
6.3.5 拆毀步驟
6.3.6 靜態(tài)的構(gòu)造函數(shù)與析構(gòu)函數(shù)
6.4 方法和繼承
6.4.1 術(shù)語大雜燴
6.4.2 繼承就是子類型化,靜態(tài)類型和動(dòng)態(tài)類型
6.4.3 改寫只能是自愿的
6.4.4 調(diào)用被改寫的方法
6.4.5 協(xié)變返回類型
6.5 靜態(tài)成員的類級封裝
6.6 使用final方法來限制擴(kuò)展性
6.7 封裝
6.7.1 private
6.7.2 package
6.7.3 protected
6.7.4 public
6.7.5 export
6.7.6 封裝到什么程度
6.8 一統(tǒng)天下的根類
6.8.1 string to String()
6.8.2 sizet to Hash()
6.8.3 boolop Equals(Object rhs)
6.8.4 intop Cmp(Object rhs)
6.8.5 static Object factory(string class Name)
6.9 接口
6.9.1 非虛接口(NVI)慣用法
6.9.2 protected原語
6.9.3 選擇性實(shí)現(xiàn)
6.10 抽象類
6.11 嵌套類
6.11.1 函數(shù)嵌套類
6.11.2 靜態(tài)嵌套類
6.11.3 匿名類
6.12 多重繼承
6.13 多重子類型化
6.14 參數(shù)化的類和接口
6.15 小結(jié)
第7章 其他自定義類型
7.1 結(jié)構(gòu)
7.1.1 復(fù)制語義
7.1.2 將結(jié)構(gòu)對象傳遞給函數(shù)
7.1.3 結(jié)構(gòu)對象的生命周期
7.1.4 靜態(tài)構(gòu)造函數(shù)和析構(gòu)函數(shù)
7.1.5 方法
7.1.6 靜態(tài)成員
7.1.7 訪問指示符
7.1.8 嵌套結(jié)構(gòu)和類
7.1.9 在函數(shù)內(nèi)部嵌套結(jié)構(gòu)
7.1.10 結(jié)構(gòu)子類型化與@disable屬性
7.1.11 字段布局與對齊
7.2 聯(lián)合
7.3 枚舉值
7.3.1 枚舉類型
7.3.2 枚舉特性
7.4 別名
7.5 使用模板實(shí)現(xiàn)參數(shù)化作用域
7.6 使用mixin模板注入代碼
7.7 小結(jié)與參考
第8章 類型修飾符
8.1 immutable修飾符
8.2 immutable的書寫
8.3 immutable參數(shù)和方法
8.4 immutable構(gòu)造函數(shù)
8.5 immutable相關(guān)的轉(zhuǎn)換
8.6 const修飾符
8.7 const與immutable進(jìn)行交互
8.8 將修飾符從參數(shù)傳送至結(jié)果
8.9 小結(jié)
第9章 錯(cuò)誤處理
9.1 拋出與捕捉
9.2 類型
9.3 finally子句
9.4 nothrow函數(shù)和Throwable的特殊本質(zhì)
9.5 附屬異常
9.6 棧展開與異常安全代碼
9.7 未捕捉的異常
第10章 契約編程
10.1 契約
10.2 斷言
10.3 前置條件
10.4 后置條件
10.5 不變量
10.6 跳過契約檢查與發(fā)行版本
10.6.1 enforce不(完全)是assert
10.6.2 assert(false)
10.7 契約:請不要用于洗滌輸入
10.8 契約與繼承
10.8.1 繼承與in契約
10.8.2 繼承與out契約
10.8.3 繼承與invariant契約
10.9 接口里的契約
第11章 擴(kuò)展性
11.1 包和模塊
11.1.1 import聲明
11.1.2 模塊搜索根目錄
11.1.3 名字查找
11.1.4 public import聲明
11.1.5 static import聲明
11.1.6 選擇性導(dǎo)入
11.1.7 在導(dǎo)入里重新命名
11.1.8 module聲明
11.1.9 模塊摘要
11.2 安全性
11.2.1 定義行為和未定義行為
11.2.2 @safe、@trusted和@system屬性
11.3 模塊的構(gòu)造函數(shù)與析構(gòu)函數(shù)
11.3.1 模塊內(nèi)的執(zhí)行順序
11.3.2 跨模塊的執(zhí)行順序
11.4 文檔注釋
11.5 與C和C++進(jìn)行交互
11.6 deprecated聲明
11.7 version聲明
11.8 debug聲明
11.9 D語言標(biāo)準(zhǔn)庫
第12章 操作符重載
12.1 重載操作符
12.2 重載一元操作符
12.2.1 使用mixin加強(qiáng)操作符定義
12.2.2 后增值與后減值
12.2.3 重載cast操作符
12.2.4 三元操作符重載測試和if測試
12.3 重載二元操作符
12.3.1 操作符重載的平方
12.3.2 交換律
12.4 重載比較操作符
12.5 重載賦值操作符
12.6 重載索引操作符
12.7 重載分割操作符
12.8 $操作符
12.9 重載foreach
12.9.1 帶有迭代原語的foreach
12.9.2 帶有內(nèi)部迭代的foreach
12.10 在類里定義重載操作符
12.11 完全不一樣的重載:op Dispatch
12.12 小結(jié)與快速參考
第13章 并發(fā)性
13.1 并發(fā)門
13.2 數(shù)據(jù)共享簡史
13.3 快瞧瞧,沒有(默認(rèn))共享
13.4 啟動(dòng)線程
13.5 線程間的信息交換
13.6 receive的模式匹配
13.6.1 首次匹配
13.6.2 匹配所有消息
13.7 文件復(fù)制——稍有改變
13.8 線程終止
13.9 帶外通信
13.10 郵箱堵塞
13.11 shared類型修飾符
13.12 shared數(shù)據(jù)操作及其效果
13.13 使用synchronized類實(shí)現(xiàn)基于鎖的同步
13.14 synchronized類里的字段類型化
13.14.1 臨時(shí)保護(hù)==無脫離
13.14.2 局部保護(hù)==尾部共享
13.14.3 強(qiáng)制同質(zhì)的互斥量
13.14.4 不可思議:shared可被強(qiáng)制轉(zhuǎn)換掉
13.15 死鎖與synchronized語句
13.16 使用shared類進(jìn)行無鎖編碼
13.16.1 shared類
13.16.2 幾種無鎖結(jié)構(gòu)
13.17 小結(jié)

使用說明

1、下載并解壓,得出pdf文件

2、如果打不開本文件,請務(wù)必下載pdf閱讀器
3、安裝后,在打開解壓得出的pdf文件
4、雙擊進(jìn)行閱讀試讀

收起介紹展開介紹
  • 下載地址
D程序設(shè)計(jì)語言 Andrei Alexandrescu pdf掃描版

有問題? 點(diǎn)此報(bào)錯(cuò)

發(fā)表評論

0條評論