D语言是这种通用性的系统软件和运用计算机语言,它维持了转化成高效率编码及其立即浏览电脑操作系统API和硬件配置的工作能力。《D程序设计语言》是1本详细介绍D语言的权威性书藉,全方位、系统软件、技术专业地解读了D语言有关的內容。书中包含了D语言的各个方面,不仅详细介绍了语言的关系式、句子、种类、涵数、契约书、控制模块、类和构造等基础內容,还根据普遍实例,深层次表述了全部语言特点,解读了如何把语言特点开展组成以适用关键的程序编写范型,论述了每项关键特点的基本概念,对他们的最好主要用途得出了提议,并对跨行业的难题(如错误处理、契约书程序编写和高并发性)开展了探讨。除此之外,书中还根据很多的数据图表,为应用D语言处理平时难题出示了迅速参照。其认真细致的解读令人基本上感觉一些“唠叨”,但更是这种“唠叨”內容更能加重大家对D语言编程设计的了解,从而扩展到对通常实际意义上的计算机语言编程设计的了解。
《D程序设计语言》不但合适于D语言新手,针对想学习培训c语言编译器保持的科学研究工作人员、想扩展大学生的计算机语言知识层面的老师及其想深层次掌握计算机语言设计方案的人,也可以出示非常好的协助和具体指导。
Andrei Alexandrescu,全球顶级的C++权威专家,2002年编写了经典名著《C++设计方案新思路》,曾喜获2002年最好C++书籍头衔,书中常开发设计的Loki早已变成最负盛誉的C++程序库之首。他被觉得是全新C++的意味着角色,由于对Template技术性的高超应用,震撼人心了全部C++社群营销,开拓了C++程序编写行业的“Modern C++”新时期。他还与Herb Sutter合著了《C++程序编写标准》。他花了8年的時间修读深度学习层面的博士研究生,专业科学研究一部分自然语言理解构造。自二零零六年刚开始,他与D语言的最开始设计师及保持者Walter Bright密不可分协作,设计方案和保持D语言以及标准库,他是D语言许多特点的设计师,都是大部分D语言标准库的创作者。Andrei Alexandrescu在工业领域和学界常有很高的信誉。
目录
- 译者序
- Walter Bright 序
- Scott Meyers 序
- 前言
- 第1章 进入D世界
- 1.1 数字与表达式
- 1.2 语句
- 1.3 函数基础
- 1.4 数组与关联数组
- 1.5 基本数据结构
- 1.6 接口和类
- 1.7 值与引用
- 1.8 小结
- 第2章 基本类型、表达式
- 2.1 符号
- 2.2 字面量
- 2.3 操作符
- 2.4 小结和快速参考
- 第3章 语句
- 3.1 表达式语句
- 3.2 复合语句
- 3.3 if语句
- 3.4 static if语句
- 3.5 switch语句
- 3.6 final switch语句
- 3.7 循环语句
- 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 小结和快速参考
- 第4章 数组、关联数组和字符串
- 4.1 动态数组
- 4.2 固定大小的数组
- 4.3 多维数组
- 4.4 关联数组
- 4.5 字符串
- 4.6 数组的远房表亲:指针
- 4.7 小结和快速参考
- 第5章 数据与函数、函数式
- 5.1 编写一个简单函数并进行单元测试
- 5.2 传递约定和存储类别
- 5.3 类型参数
- 5.4 签名约束
- 5.5 重载
- 5.6 高阶函数、函数字面量
- 5.7 嵌套函数
- 5.8 闭包
- 5.9 超越数组、范围、伪成员
- 5.10 可变参数函数
- 5.11 函数属性
- 5.12 编译时计算
- 第6章 类、面向对象风格
- 6.1 类
- 6.2 对象名就是引用
- 6.3 对象的生命周期
- 6.4 方法和继承
- 6.5 静态成员的类级封装
- 6.6 使用final方法来限制扩展性
- 6.7 封装
- 6.8 一统天下的根类
- 6.9 接口
- 6.10 抽象类
- 6.11 嵌套类
- 6.12 多重继承
- 6.13 多重子类型化
- 6.14 参数化的类和接口
- 6.15 小结
- 第7章 其他自定义类型
- 7.1 结构
- 7.2 联合
- 7.3 枚举值
- 7.4 别名
- 7.5 使用模板实现参数化作用域
- 7.6 使用mixin模板注入代码
- 7.7 小结与参考
- 第8章 类型修饰符
- 8.1 immutable修饰符
- 8.2 immutable的书写
- 8.3 immutable参数和方法
- 8.4 immutable构造函数
- 8.5 immutable相关的转换
- 8.6 const修饰符
- 8.7 const与immutable进行交互
- 8.8 将修饰符从参数传送至结果
- 8.9 小结
- 第9章 错误处理
- 9.1 抛出与捕捉
- 9.2 类型
- 9.3 finally子句
- 9.4 nothrow函数和Throwable的特殊本质
- 9.5 附属异常
- 9.6 栈展开与异常安全代码
- 9.7 未捕捉的异常
- 第10章 契约编程
- 10.1 契约
- 10.2 断言
- 10.3 前置条件
- 10.4 后置条件
- 10.5 不变量
- 10.6 跳过契约检查与发行版本
- 10.7 契约:请不要用于洗涤输入
- 10.8 契约与继承
- 10.9 接口里的契约
- 第11章 扩展性
- 11.1 包和模块
- 11.2 安全性
- 11.3 模块的构造函数与析构函数
- 11.4 文档注释
- 11.5 与C和C++进行交互
- 11.6 deprecated声明
- 11.7 version声明
- 11.8 debug声明
- 11.9 D语言标准库
- 第12章 操作符重载
- 12.1 重载操作符
- 12.2 重载一元操作符
- 12.3 重载二元操作符
- 12.4 重载比较操作符
- 12.5 重载赋值操作符
- 12.6 重载索引操作符
- 12.7 重载分割操作符
- 12.8 $操作符
- 12.9 重载foreach
- 12.10 在类里定义重载操作符
- 12.11 完全不一样的重载:opDispatch
- 12.12 小结与快速参考
- 第13章 并发性
- 13.1 并发门
- 13.2 数据共享简史
- 13.3 快瞧瞧,没有(默认)共享
- 13.4 启动线程
- 13.5 线程间的信息交换
- 13.6 receive的模式匹配
- 13.7 文件复制——稍有改变
- 13.8 线程终止
- 13.9 带外通信
- 13.10 邮箱堵塞
- 13.11 shared类型修饰符
- 13.12 shared数据操作及其效果
- 13.13 使用synchronized类实现基于锁的同步
- 13.14 synchronized类里的字段类型化
- 13.15 死锁与synchronized语句
- 13.16 使用shared类进行无锁编码
- 13.17 小结