《C++语法详解》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:黄勇编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:9787121316555
  • 页数:488 页
图书介绍:本书是专门讲解C++语法规则的书籍,因此本书不会介绍任何有关程序设计的内容(比如编写一个计算规形面积的程序),本书将语法问题分离出来,避免既不像写语法的书也不像写程序设计的书。本书一个知识点就是一个单独的示例,不与上一个知识点的示例拉上关系,更不会与上一章节的内容拉上关系,让读者随时复习每个知识点时能够独立复习,而不用再去复习不必要的章节内容。

第1章C++快速入门 1

第2章 整型、字符型和浮点型专题 6

2.1基础 6

2.2整型和sizeof操作符 8

2.3 char(字符型) 11

2.4 bool(布尔型) 16

2.5浮点型 17

2.6符号常量和#define预处理指令简介 22

第3章 声明、定义、复杂声明和typedef专题 23

3.1声明与定义 23

3.2复杂声明和typedef的使用 31

3.2.1复杂声明 31

3.2.2 typedef 34

第4章 运算符、表达式和左值专题 40

4.1赋值、左值和右值 41

4.2表达式和运算符 42

4.2.1基础 42

4.2.2表达式的副作用和顺序点 44

4.2.3运算符的优先级、结合性和操作数的求值顺序 45

4.2.4运算符性质总结 46

4.3运算符 47

4.3.1二元算术运算符 47

4.3.2关系运算符 49

4.3.3逻辑运算符 50

4.3.4赋值运算符 51

4.3.5复合赋值运算符 52

4.3.6递增和递减运算符 54

4.3.7位运算符 56

4.3.8条件运算符 58

4.3.9逗号运算符 60

4.3.10 sizeof运算符 61

4.4类型转换 61

4.4.1基础 61

4.4.2各种类型转换 61

4.4.3转换溢出处理 64

4.4.4强制类型转换运算符 65

第5章 选择语句和循环语句专题 68

5.1语句概念 68

5.2 if语句 69

5.3 switch语句 72

5.4 while和do-while语句 77

5.5 for语句 79

5.6 continue和break语句 81

5.7循环语句头定义的变量的作用域 82

5.8 goto跳转语句简介 83

第6章 指针和数组专题 84

6.1指针 84

6.1.1指针的概念 87

6.1.2&与*运算符 88

6.1.3指针(变量)的声明、初始化 92

6.1.4各种指针 93

6.1.5指针的简单运算 98

6.2数组 100

6.2.1一维数组 100

6.2.2多维数组 104

6.3指针与数组 106

6.3.1理解数组名 106

6.3.2指针与数组的混合运算 109

6.3.3数组指针(*p)[]和指针数组*p[] 112

6.4动态分配内存new关键字 115

6.4.1内存管理基础 115

6.4.2使用new动态分配单个对象 116

6.4.3使用new动态创建数组 118

6.4.4使用new动态分配内存的类型分析 121

6.4.5使用多级指针动态创建多维数组 122

6.4.6 delete常见错误及内存错误 125

6.4.7使用malloc/free动态创建和释放内存简介 127

6.5 C风格字符串 128

6.5.1 C风格字符串 128

6.5.2 C风格字符串的标准库函数 131

6.5.3 C风格字符串的输入/输出 132

第7章 函数和标识符的作用域专题 133

7.1函数基本语法规则 133

7.1.1函数声明、定义及形参的语法规则 133

7.1.2函数调用、实参、返回值、return语句语法规则 137

7.2函数参数传递 141

7.2.1指针形参和引用形参 141

7.2.2数组形参 144

7.2.3函数指针 148

7.2.4默认参数与可变形参 150

7.2.5内联函数、main函数、extern“C”链接指示符 151

7.3函数重载 154

7.4函数匹配(或函数重载解析) 155

7.4.1函数匹配的过程 155

7.4.2候选函数的确定方法 156

7.4.3确定最佳匹配函数的方法 156

7.4.4完全匹配详解 159

7.5作用域、存储持续期、链接性和存储类区分符 164

7.5.1作用域 164

7.5.2存储持续期、链接性与作用域 167

7.5.3将程序写在多个文件中 175

第8章 类基础、类作用域及相关运算符专题 177

8.1面向对象程序设计基本概念 177

8.2类的声明/定义、类成员简介及相关运算符 181

8.2.1类和对象的声明、定义 181

8.2.2类成员简介、成员运算符、作用域解析运算符、访问控制符 182

8.3类作用域 187

8.3.1类作用域中的名称 187

8.3.2类作用域中的名称解析 189

第9章 构造函数、复制构造函数和析构函数专题 192

9.1构造函数与析构函数简介 192

9.1.1构造函数、默认构造函数、单形参构造函数、explicit关键字 192

9.1.2析构函数 195

9.2对象初始化 198

9.2.1使用构造函数、默认构造函数初始化对象 198

9.2.2使用成员初始化表初始化数据成员 200

9.2.3使用复制构造函数初始化对象及临时对象 202

第10章 名称空间专题 207

10.1名称空间基础 207

10.2名称空间的分类 209

10.3访问名称空间中的名称 211

10.4名称空间中的名称解析 214

第11章 类中的成员专题 217

11.1静态成员 217

11.1.1静态数据成员 217

11.1.2静态成员函数 221

11.2 const成员、mutable关键字、this指针 222

11.3对象数组、对象成员、数组成员和对象数组成员 225

11.3.1对象数组 225

11.3.2对象成员、数组成员和对象数组成员 226

11.4嵌套类、局部类、友元 228

11.4.1嵌套类 228

11.4.2局部类 232

11.4.3友元 232

11.5指向类成员的指针 237

11.6枚举、联合(共用体)、位段(域) 240

11.6.1枚举类型 240

11.6.2联合(共用体)类型 244

11.6.3位段(域) 246

第12章 运算符(操作符)重载专题 249

12.1运算符重载基本概念 249

12.2运算符重载示例 252

12.3转换函数和重载解析 260

12.3.1转换函数 260

12.3.2有转换函数时的函数重载解析 263

12.3.3带有类类型实参和在类作用域中调用函数时函数重载解析 266

12.3.4重载运算符函数时的重载解析 268

12.3.5仿函数与重载解析 270

12.4重载new/delete运算符和定位new/delete 271

12.4.1重载new/delete运算符 271

12.4.2定位(布局)new和delete 277

12.4.3 new表达式和new运算符函数总结 282

第13章 继承、虚函数与多态性专题 284

13.1继承 284

13.1.1继承基础及继承后的访问级别 284

13.1.2继承下的构造函数与复制控制 289

13.1.3父类与子类间的转换 291

13.1.4继承下的名称解析、名称隐藏及函数重载解析 294

13.1.5多重继承与虚基类 297

13.2虚函数与多态性 302

13.2.1多态性原理 302

13.2.2虚函数 305

第14章 对象模型与虚函数表专题 314

14.1对象模型与虚函数表基础、内存对齐、函数内部转换 314

14.1.1对象模型简介 314

14.1.2类成员的存储次序与内存对齐 318

14.1.3编译器对函数的内部转换与名称改编 322

14.1.4指向虚成员函数的指针 325

14.1.5对成员函数的各种转换总结 325

14.2各种C++对象模型 326

14.2.1指针与类型的关系 326

14.2.2 VC++ 2010访问虚函数表的三种方法 327

14.2.3单继承下的对象模型 330

14.2.4多重继承下的对象模型与 this指针调整 332

14.2.5虚继承下的对象模型 339

14.3编译器合成的各种构造函数和析构函数 342

14.3.1编译器合成的默认构造函数 342

14.3.2编译器合成的复制构造函数与按成员初始化 346

14.3.3编译器合成的复制赋值操作符函数 349

14.3.4编译器合成的析构函数 349

14.4类对象创建和销毁时编译器实现原理 349

第15章 模板专题 354

15.1模板基础 354

15.2模板形参与模板实参详解 359

15.2.1类型形/实参与非类型形/实参 359

15.2.2默认模板实参 363

15.2.3模板模板形/实参 364

15.3模板实参推演与显式模板实参 365

15.3.1基础 365

15.3.2模板实参推演 368

15.3.3显式模板实参 374

15.4名称的识别与依赖实参的查询 375

15.4.1依赖实参的查询(ADL) 375

15.4.2 typename前缀和template前缀 380

15.5实例化 383

15.5.1实例化基本规则 384

15.5.2实例化的时机和位置点及两段式名称查询 384

15.5.3显式实例化 393

15.6类模板中的成员 396

15.7模板特化 401

15.7.1全局特化与局部特化 401

15.7.2类模板成员的特化及定义 406

15.8有模板时的函数重载解析 410

15.9模板与友元 416

15.9.1基础 416

15.9.2把模板或其实例声明为友元 417

15.10模板与继承 419

第16章I/O专题 421

16.1 I/O流模型及I/O类组织结构 421

16.1.1 I/O流模型 421

16.1.2 I/O类组织结构 422

16.2标准输出流(ostream类) 425

16.2.1使用ostream类的成员函数进行输出 425

16.2.2控制输出时的格式 426

16.3标准输入流(istream类) 432

16.3.1流状态 432

16.3.2使用istream类的成员函数进行输入 434

16.4文件流 438

16.5字符串流 445

16.6 C风格字符串流 447

第17章 异常专题 448

第18章 预处理器、typeid和强制类型转换专题 464

第19章string类专题 472

参考文献 488