C++参考大全(第4版)

C++参考大全(第4版)
作 者: Herbert Schildt 周志荣 周志荣
出版社: 电子工业出版社
丛编项: 完全手册丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: Sever
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  作者:HerbertSchildtHerbertSchildt,是世界顶级程序设计大师,全球顶尖编程图书作者之一。他是C、C++、Java和C#编程语言的权威,也是Windows编程方面的专家。拥有伊利诺斯大学的计算机科学硕士学位。他的编程书籍在世界范围内的销量已经超过3000000册,并被翻译成多种语言流传于世。Java实用教程(第3版)>>更多作品

内容简介

本书是根据著名C语言专家HerbertSchildt的著作翻译的。这是一本关于C++语言的百科全书,包括C和C++的命令、功能、编程和应用等方面的内容。全书分为五个部分:C++基础:C子集;C++的专有特征;标准函数库;标准C++类库;C++应用程序范例。详细描述和演示了定义C++语言的关键字、语法、函数、类和特征。其中第一部分全面讨论了C++的C子集;第二部分详细介绍了C++本身的特性,如类和对象、构造函数、析构函数和模板等;第三部分描述了标准函数库;第四部分讨论了标准类库,包括STL(标准模板库);第五部分显示了两个应用C++和面向对象编程的实际例子。本书内容全面、翔实,是学习C++编程语言的广大学生的一部有用的工具书,也是对C++感兴趣的读者的必备参考书。前言如果有一种语言定义了现代化程序设计的概念,它就是C++。C++的语法、风格和理念设立了所有其他语言得以进行评判的标准。此外,C++是一种通用的程序设计语言。当对算法或技巧进行描述时,通常使用C++语法来完成。C++长时间的成功在计算机语言开发的历史上留下了不可磨灭的印记,例如,Java和C#都是从C++中派生出的。坦率地讲,要成为一名专业的程序设计人员,就要精通C++。C++是一种所有程序员都不能忽视的语言。本书全面描述和演示了定义C++语言的关键字、语法、函数、类和特征。更准确地讲,本书全面描述了标准C++语言。标准C++是由ANSI/ISOC++标准定义的C++版本,也是为所有主要编译器、包括Microsoft的VisualC++和Borland的C++Builder所支持的C++版本。因此,本书中的内容适用于所有现代编程环境。自本书前一版出版以来,C++语言并没有变化,然而,计算环境却有了相当大的改变。例如,C语言的一个新标准,即C99得以建立,Java变成了进行Web编程的主要语言,.NET框架发布,C#产生。在过去几年所发生的这些变化中,有一件事保持不变:C++的强大功能。C++一直是并将仍然是未来开发高性能软件的首选语言。第四版中的新内容第四版的整个结构和组织与第三版类似。因此,如果你一直在使用第三版,你会非常喜欢第四版。第四版的主要变化涉及整个内容的更新和扩展。有时加入了额外的细节内容,有时对问题的表述方法进行了修改,有时对描述的内容进行了更新以反映当前的编程环境,也添加了几个新的章节。在第一部分适当的地方,提到了我们称为C99的...

图书目录

第一部分 C++基础:C子集

第1章 C语言概述

1.1 C语言的起源和历史

1.2 C语言是中级语言

1.3 C语言是结构化语言

1.4 C语言是程序员的语言

1.5 C程序的结构

1.6 库和链接

1.7 分别编译

1.8 理解.C和.CPP文件扩展

第2章 表达式

2.1 五种基本数据类型

2.2 修饰基本类型

2.3 标识符名称

2.4 变量

2.5 const和volatile限定符

2.6 存储类限定符

2.7 变量初始化

2.8 常量

2.9 运算符

2.10 表达式

第3章 语句

3.1 C和C++中的真值和假值

3.2 选择语句

3.3 迭代语句

3.4 在选择和迭代语句内声明变量

3.5 跳转语句

3.6 表达式语句

3.7 块语句

第4章 数组和以null结束的字符串

4.1 一维数组

4.2 生成指向数组的指针

4.3 向函数传递一维数组

4.4 以null结束的字符串

4.5 二维数组

4.6 多维数组

4.7 带下标的指针

4.8 数组初始化

4.9 棋盘游戏实例

第5章 指针

5.1 什么是指针

5.2 指针变量

5.3 指针运算符

5.4 指针表达式

5.5 指针和数组

5.6 多级间址

5.7 初始化指针

5.8 指向函数的指针

5.9 C语言的动态分配函数

5.10 指针应用中的问题

第6章 函数

6.1 函数的一般形式

6.2 数作用域的规则

6.3 函数变元

6.4 传给main()的变元argc和argv

6.5 return语句

6.6 递归

6.7 函数原型

6.8 声明变长参数列表

6.9 传统的与现代的函数参数声明

第7章 结构、联合、枚举和用户定义的类型

7.1 结构

7.2 结构数组

7.3 向函数传递结构

7.4 结构指针

7.5 结构中的数组和结构

7.6 位域

7.7 联合

7.8 枚举

7.9 用sizeof来保证可移植性

7.10 typedef

第8章 C风格的控制台I/O

8.1 一个重要的应用说明

8.2 读写字符

8.3 读写字符串

8.4 格式化的控制台I/O

8.5 printf()

8.6 scanf()

第9章 文件I/O

9.1 C与C++的文件I/O

9.2 流和文件

9.3 流

9.4 文件

9.5 文件系统基础

9.6 fread()和fwrite()

9.7 fseek()和随机访问I/O

9.8 fprintf()和fscanf()

9.9 标准流

第10章 预处理器和注释

10.1 预处理器

10.2 #define

10.3 #error

10.4 #include

10.5 条件编译指令

10.6 #undef

10.7 使用defined

10.8 #line

10.9 #pragma

10.10 #和##预处理器运算符

10.11 预定义的宏名

10.12 注释

第二部分 C++的专有特征

第11章 C++语言概述

11.1 C++的起源

11.2 什么是面向对象的程序设计

11.3 C++基础

11.4 老的C++与现代C++

11.5 C++的类

11.6 函数重载

11.7 运算符重载

11.8 继承

11.9 构造函数和析构函数

11.10 C++的关键字

11.11 C++程序的一般形式

第12章 类和对象

12.1 类

12.2 结构和类是相互关联的

12.3 联合和类是相互关联的

12.4 友元函数

12.5 友元类

12.6 内联函数

12.7 在类中定义内联函数

12.8 带参数的构造函数

12.9 带一个参数的构造函数:特例

12.10 静态类成员

12.11 何时执行构造函数和析构函数

12.12 作用域分辨符

12.13 嵌套类

12.14 局部类

12.15 向函数传递对象

12.16 返回对象

12.17 对象赋值

第13章 数组、指针、引用和动态分配运算符

13.1 对象数组

13.2 指向对象的指针

13.3 C++指针的类型检查

13.4 this指针

13.5 指向派生类型的指针

13.6 指向类成员的指针

13.7 引用

13.8 格式问题

13.9 C++的动态分配运算符

第14章 函数重载、拷贝构造函数和默认变元

14.1 函数重载

14.2 重载构造函数

14.3 拷贝构造函数

14.4 查找重载函数的地址

14.5 重载的过去与现在

14.6 默认的函数变元

14.7 函数重载和二义性

第15章 运算符重载

15.1 创建成员运算符函数

15.2 使用友元函数的运算符重载

15.3 重载new和delete

15.4 重载某些特殊运算符

15.5 重载逗号运算符

第16章 继承

16.1 基类访问控制

16.2 继承和保护成员

16.3 继承多个基类

16.4 构造函数、析构函数和继承

16.5 准许访问

16.6 虚基类

第17章 虚函数与多态性

17.1 虚函数

17.2 继承虚属性

17.3 虚函数是分层的

17.4 纯虚函数

17.5 使用虚函数

17.6 早期绑定与后期绑定

第18章 模板

18.1 通用函数

18.2 应用通用函数

18.3 通用类

18.4 关键字typename和export

18.5 模板的功用

第19章 异常处理

19.1 异常处理基础

19.2 处理派生类异常

19.3 异常处理选项

19.4 理解terminate()和unexpected()

19.5 uncaught_exception()函数

19.6 exception和bad_exception类

19.7 异常处理的应用

第20章 C++输入/输出系统基础

20.1 老的C++I/O与现代的C++I/O

20.2 C++的流

20.3 C++的流类

20.4格式化的I/O

20.5 重载<<和>>

第21章 C++文件的输入/输出

21.1 和文件类

21.2 打开和关闭文件

21.3 读写文本文件

21.4 无格式和二进制I/O

21.5 其他get()函数

21.6 getline()函数

21.7 检测EOF

21.8 ignore()函数

21.9 peek()和putback()函数

21.10 flush()函数

21.11 随机访问

21.12 I/O状态

21.13 定制的I/O和文件

第22章 运行时类型标识与强制转换运算符

22.1 运行时类型标识

22.2 强制转换运算符

22.3 dynamic_cast

第23章 名字空间、转换函数和其他高级主题

23.1 名字空间

23.2 std名字空间

23.3 创建转换函数

23.4 const成员函数与mutable

23.5 volatile成员函数

23.6 explicit构造函数

23.7 成员初始化语法

23.8 利用关键字asm

23.9 连接说明

23.10 基于数组的I/O

23.11 C与C++的区别

第24章 标准模板库

24.1 STL概述

24.2 容器类

24.3 一般的操作原理

24.4 vector容器

24.5 list容器

24.6 map容器

24.7 算法

24.8 使用函数对象

24.9 string类

24.10 关于STL的最后一点说明

第三部分 标准函数库

第25章 基子C的输入/输出函数

25.1 clearerr函数

25.2 fclose函数

25.3 feof函数

25.4 ferror函数

25.5 fflush函数

25.6 fSetc函数

25.7 fgetpos函数

25.8 fSets函数

25.9 fopen函数

25.10 fprintf函数

25.11 fputc函数

25.12 fputs函数

25.13 fread函数

25.14 freopen函数

25.15 fscmff函数

25.16 fseek函数

25.17 fsetpos函数

25.18 ftell函数

25.19 fwrite函数

25.20 gete函数

25.21 getchar函数

25.22 gets函数

25.23 perror函数

25.24 prinff函数

25.25 putc函数

25.26 putchar函数

25.27 puts函数

25.28 remove函数

25.29 rename函数

25.30 rewind函数

25.31 scanf函数

25.32 setbuf函数

25.33 setvbuf函数

25.34 sprinff函数

25.35 sscanf函数

25.36 tmpfile函数

25.37 tmpnam函数

25.38 ungetc函数

25.39 vpfintf,vfpfintf和vsprintf函数

第26章 字符串与字符函数

26.1 isalnum函数

26.2 isalpha函数

26.3 iscntrl函数

26.4 isdiSit函数

26.5 isgraph函数

26.6 islower函数

26.7 isprint函数

26.8 ispunct函数

26.9 isspace函数

26.10 isupper函数

26.11 isxdiSit函数

26.12 memchr函数

26.13 memcmp函数

26.14 memcpy函数

26.15 memmove函数

26.16 memset函数

26.17 strcat函数

26.18 strchr函数

26.19 strcmp函数

26.20 strcoll函数

26.21 strcpy函数

26.22 strcspn函数

26.23 strerror函数

26.24 strlen函数

26.25 strncat函数

26.26 stmcmp函数

26.27 strncpy函数

26.28 strpbrk函数

26.29 strrchr函数

26.30 strspn函数

26.31 strstr函数

26.32 strtok函数

26.33 strxfrm函数

26.34 tolower函数

26.35 toupper函数

第27章 数学函数

27.1 acos函数

27.2 asin函数

27.3 atan函数

27.4 atan2函数

27.5 ceil函数

27.6 COS函数

27.7 cosh函数

27.8 exp函数

27.9 fabs函数

27.10 floor函数

27.11 fmod函数

27.12 kexp函数

27.13 ldexp函数

27.14 log函数

27.15 loglO函数

27.16 modf函数

27.17 pow函数

27.18 sin函数

27.19 sinh函数

27.20 sqrt函数

27.21 tan函数

27.22 tanh函数

第28章 时间、日期和定位函数

28.1 asctime函数

28.2 clock函数

28.3 ctime函数

28.4 difftime函数

28.5 gmtime函数

28.6 localeeonv函数

28.7 localtime函数

28.8 mktime函数

28.9 setlocale函数

28.10 strftime函数

28.11 time函数

第29章 动态分配函数

29.1 calloc函数

29.2 free函数

29.3 malloc函数

29.4 realloe函数

第30章 实用函数

30.1 abort函数

30.2 abs函数

30.3 assert函数

30.4 atexit函数

30.5 atof函数

30.6 atoi函数

30.7 atol函数

30.8 bsearch函数

30.9 div函数

30.10 exit函数

30.11 getenv函数

30.12 labs函数

30.13 ldiv函数

30.14 longjmp函数

30.15 mblen函数

30.16 mbstowes函数

30.17 mbtowc函数

30.18 qsort函数

30.19 raise函数

30.20 rand函数

30.21 setjmp函数

30.22 signal函数

30.23 srand函数

30.24 strtod函数

30.25 strtol函数

30.26 strtoul函数

30.27 system函数

30.28 va_arg,va_start和va end函数.

30.29 wcstombs函数

30.30 wctomb函数

第31章 宽字符函数

31.1 宽字符分类函数

31.2 宽字符I/O函数

31.3 宽字符串函数

31.4 宽字符串转换函数

31.5 宽字符数组函数

31.6 多字节/宽字符转换函数

第四部分 标准C++类库

第32章 标准C++I/O类

32.1 I/O类

32.2 I/O头文件

32.3 格式化标记和I/O操作算子

32.4 几个数据类型

32.5 重载<<和>>运算符

32.6 通用的I/O函数

第33章 STL容器类

33.1 容器类

第34章 STL算法

34.1 adjacent_find

34.2 binary_search

34.3 copy

34.4 copy_backward

34.5 count

34.6 count_if

34.7 equal

34.8 equal_range

34.9 flll和fill_n

34.10 find

34.11 find_end

34.12 find_first_of

34.13 find_if

34.14 for_each

34.15 generate和generate_n

34.16 includes

34.17 inplace_merge

34.18 iter_swap

34.19 lexicographical_compare

34.20 lower_bound

34.21 make_heap

34.22 max

34.23 max_element

34.24 merge

34.25 min

34.26 min_element

34.27 mismatch

34.28 next_permutation

34.29 nth_element

34.30 partial sort

34.31 partial sort_copy

34.32 partition

34.33 pop_heap

34.34 prev_permutation

34.35 push_heap

34.36 random_shuffle

34.37 remove,remove_if,remove copy和remove_copy_if

34.38 replace,replace_copy,replace_if和replace_copy_if

34.39 reverse和reverse_copy

34.40 rotate和rotate_copy

34.41 search

34.42 search_n

34.43 set_difference

34.44 set_intersection

34.45 set_symmetric_difference

34.46 set_union

34.47 sort

34.48 sort_heap

34.49 stable_partition

34.50 stable_sort

34.51 swap

34.52 swap_ranges

34.53 transform

34.54 unique和unique_copy

34.55 upper_bound

第35章 STL迭代器、分配器和函数对象

35.1 迭代器

35.2 函数对象

35.3 分配器

第36章 字符串类

36.1 basic_string类

36.2 char_traits类

第37章 数字类

37.1 complex类

37.2 valarray类

37.3 数字算法

第38章 异常处理和杂项类

38.1 异常

38.2 auto_ptr

38.3 pair类

38.4 本地化

38.5 其他有趣的类

第五部分 C++应用程序范例

第39章 集成新的类:自定义字符串类

39.1 StrType类

39.2 构造函数和析构函数

39.3 字符串I/O

39.4 赋值函数

39.5 连接

39.6 子字符串减法

39.7 关系运算符

39.8 各种字符串函数

39.9 完整的StrType类

39.10 使用StrType类

39.11 创建和集成新类型

39.12 挑战

第40章 分析表达式

40.1 表达式

40.2 分析表达式:问题

40.3 分析一个表达式

40.4 parser类

40.5 剖析一个表达式

40.6 一个简单的表达式分析器

40.7 向分析器中添加变量

40.8 递归下降分析器中的语法检查

40.9 构建一个通用的分析器

40.10 需要试验的一些东西

附录A C++的.NET可管理扩展

附录B C++和机器人时代