《C++高级进阶教程》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:陈刚编著
  • 出 版 社:武汉:武汉大学出版社
  • 出版年份:2008
  • ISBN:9787307065635
  • 页数:424 页
图书介绍:本书介绍了C++语言的底层实现机制与编程操作相关的内容及C++编程思想。

第1章 C++基础知识 1

关于C++标准 1

文字常量和常变量 2

const的用法 4

const_cast的用法 10

mutable的用法 12

求余运算符 14

sizeof的用法 15

引用与指针常量 18

左值的概念 22

关于goto语句 24

volatile的用法 26

typedef的用法 28

关于字符串 31

什么是链式操作 37

关于名字空间 40

怎样定义复杂的宏(Macro) 46

explicit的用法 48

第2章 数据类型与程序结构 51

C++的数据类型 51

C++中的布尔类型 54

void的用法 55

枚举类型的定义和使用 58

结构与联合体 60

数据类型转换 65

声明与定义的区别 72

关于初始化 75

作用域和生命期 80

关于头文件 82

什么是分离编译模式 87

第3章 函数 91

关于main()函数 91

函数参数是如何传递的 94

实现函数调用时堆栈的变化情况 97

关于函数参数的默认值 100

如何禁止传值调用 102

定义和使用可变参数函数 103

关于函数指针 106

关于函数重载 110

关于操作符重载 113

类的成员函数与外部函数(静态函数)的区别 116

关于内联函数 120

函数的返回值放在哪里 122

extern“C”的作用 126

第4章 类与对象 131

类与对象概述 131

类定义后面为什么一定要加分号 135

关于初始化列表 137

对象的生成方式 144

关于临时对象 147

关于点操作符 150

嵌套类与局部类 153

对象之间的比较 156

类的静态成员的定义和使用 160

类的设计与实现规范 164

抽象类与纯虚函数 169

类对象的内存布局 172

为什么说最好将基类的析构函数定义为虚函数 177

对象数据成员的初始值 179

对象产生和销毁的顺序 180

关于拷贝构造函数 182

第5章 数组与指针 186

数组名的意义 186

什么是指针 187

数组与指针的关系 189

数组的初始化 193

多维数组与多重指针 195

成员数据指针 198

关于this指针 201

什么是悬挂指针 203

什么是解引用 204

指针与句柄 205

第6章 模板与标准模板库 209

关于模板参数 209

关于模板实例化 215

函数声明对函数模板实例化的屏蔽 217

将模板声明为友元 218

模板与分离编译模式 223

关于模板特化 225

输入/输出迭代子的用法 229

bitset的简单用法 230

typename的用法 232

什么是仿函数 233

什么是引用计数 234

什么是ADL 238

第7章 内存管理 249

C++程序的内存布局 249

理解new操作的实现过程 254

怎样禁止在堆(或栈)上创建对象 257

new和delete的使用规范 259

delete和delete[]的区别 261

什么是定位放置new 265

在函数中创建动态对象 266

什么是内存池技术 268

第8章 继承与多态 273

私有成员会被继承吗 273

怎样理解构造函数不能被继承 275

什么是虚拟继承 276

怎样编写一个不能被继承的类 280

关于隐藏 282

什么是RTTI 288

虚调用的几种具体情形 296

不要在构造函数或析构函数中调用虚函数 299

虚函数可以是私有的吗 302

动态联编是怎样实现的 304

!操作符重载 310

[]操作符重载 313

*操作符重载 316

赋值操作符重载 317

输入、输出操作符重载 320

第9章 流类库与输入/输出 323

什么是IO流 323

IO流类库的优点 325

endl是什么 326

实现不带缓冲的输入 329

提高输入输出操作的稳健性 330

为什么要设定locale 333

char*和wchar_T*之间的转换 340

获取文件信息 344

管理文件和目录的相关操作 346

二进制文件的IO操作 349

第10章 异常处理 353

C++为什么要引入异常处理机制 353

抛出异常和传递参数的不同 355

抛出和接收异常的顺序 365

在构造函数中抛出异常 369

用传引用的方式捕捉异常 370

在堆栈展开时如何防止内存泄漏 371

第11章 程序开发环境与实践 374

关于开发环境 374

在IDE中调试程序时查看输出结果 376

使用汇编语言 377

怎样调试C++程序 379

关于编码规范 382

正确使用注释 385

静态库与动态库 387

第12章 编程思想与方法 395

C与C++最大的区别 395

一个代码重构的例子 396

实现代码重用需要考虑的问题 401

为什么需要设计模式 414

再论C++的复杂性 419

参考文献 424