![Microsoft Visual C++语言参考手册](https://cover.qianqiantushu.cc/3/s626c58e.jpg)
![Microsoft Visual C++语言参考手册](https://cover.qianqiantushu.cc/3/s626c58e.jpg)
Microsoft Visual C++语言参考手册PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:(美国微软公司)Microsoft Corporation著;前导工作室译
- 出 版 社:北京:清华大学出版社
- 出版年份:1999
- ISBN:730203253X
- 页数:588 页
第一部分 C语言参考手册 3
引言 3
0.1 本手册的组织 3
0.2 本手册的范围 3
0.3 ANSI约定 3
第1章 C的语言成分 4
1.1 标记 4
1.1.1 空白字符 4
1.1.2 注释 5
1.1.3 标记的求值 6
1.2 关键字 6
1.3 标识符 7
1.3.1 多字节与宽字符 9
1.3.2 三连符(Trigraph) 9
1.4 常量 10
1.4.1 浮点常量 10
1.4.2 整数常量 13
1.4.3 字符常量 16
1.5 字符串常量 18
1.5.1 字符串常量的类型 19
1.5.2 字符中常量的存储 19
1.5.3 字符串常量的连接 19
1.5.4 最大字符串的长度 20
1.6 标点符号和特殊字符 20
2.1 源文件和源程序 21
第2章 程序的结构 21
2.2 main函数和程序的执行 25
2.2.1 使用wmain 25
2.2.2 变元的说明 26
2.2.3 扩展的变元通配符 26
2.2.4 命令行变元的分析 27
2.2.5 定制命令行处理 28
2.3 生命周期、作用域、可见性和链接 28
2.3.2 作用域与可见性 29
2.3.1 生命周期 29
2.3.3 生命周期和可见性小结 30
2.3.4 链接 31
2.4 名字空间 32
第3章 声明和类型 33
3.1 声明概览 33
3.2 存储类 35
3.2.1 外部声明的存储类说明符 36
3.2.2 内部声明的存储类说明符 38
3.2.3 函数声明中的存储类说明符 40
3.3 类型说明符 40
3.4 类型限定符 42
3.5 声明符和变量声明 43
3.5.1 简单变量声明 45
3.5.2 枚举声明 45
3.5.3 结构声明 48
3.5.4 联合声明 53
3.5.5 数组声明 56
3.5.6 指针声明 57
3.5.7 基指针 60
3.5.8 抽象声明 61
3.6 理解更复杂的声明符 61
3.7 初始化 63
3.7.1 初始化比例类型 64
3.7.2 初始化聚合类型 65
3.7.3 初始化字符串 68
3.8 基本类型的存储 69
3.9 不完全类型 73
3.10 Typedef定义 73
3.11 扩展存储类属性 76
3.11.1 DLL输入和输出 76
3.11.2 Naked函数 77
3.11.3 线程局部存储 77
4.1 操作符和表达式 79
4.1.1 基本表达式 79
第4章 表达式和赋值 79
4.1.2 左值和右值表达式 81
4.1.3 常量表达式 81
4.1.4 表达式求值 82
4.2 运算符 83
4.2.1 求值的优先级和顺序 84
4.2.2 常用的算术转换 86
4.2.3 后缀运算符 87
4.2.4 一元运算符 92
4.2.5 强制运算符 95
4.2.6 乘运算符 95
4.2.7 加运算行 97
4.2.8 按位移运算符 98
4.2.9 关系和相等运算符 99
4.2.10 按位运算符 101
4.2.11 逻辑运算符 102
4.2.12 条件表达式运算符 103
4.2.13 赋值运算符 104
4.2.14 顺序求值运算符 106
4.3 类型转换 106
4.3.1 赋值转换 107
4.3.2 类型强制转换 111
4.3.3 函数调用转换 112
第5章 语句 114
5.1 概述 114
5.3 复合语句 115
5.2 break语句 115
5.4 continue语句 116
5.5 do-while语句 117
5.6 表达式语句 118
5.7 for语句 118
5.8 goto和带标号的语句 119
5.9 if语句 120
5.10 空语句 121
5.11 retum语句 122
5.12 switch语句 123
5.13 try-except语句 125
5.14 try-finally语句 127
5.15 while语句 128
第6章 函数 130
6.1 概述 130
6.2 函数定义 131
6.2.1 函数属性 133
6.2.2 DLL输入和输出函数 134
6.2.3 Naked函数 137
6.2.4 存储类 140
6.2.5 返回类型 141
6.2.6 形参 142
6.2.7 函数体 144
6.3 函数原型 144
6.4 函数调用 146
6.4.1 实参 147
6.4.3 递归函数 149
6.4.2 使用可变个数的参数调用 149
附录A C语言语法概述 151
A.1 定义和约定 151
A.2 词法 151
A.2.1 单词 151
A.2.2 关键字 152
A.2.3 标识符 153
A.2.4 常量 153
A.2.5 串字符 155
A.2.6 操作符 155
A.2.7 标点符号 155
A.3 短语结构语法 156
A.3.1 表达式 156
A.3.2 声明 158
A.3.3 语句 161
A.3.4 外部定义 162
B.2 环境 163
B.2.1 main的参数 163
附录B 由实现所定义的行为 163
B.1 翻译:诊断 163
B.2.2 交互设备 164
B.3 标识符 164
B.3.1 不具有外部链接的有效字符 164
B.3.2 具有外部链接的有效字符 164
B.3.3 大写和小写 164
B.4 字符 164
B.4.1 ASCII字符集 164
B.4.2 多字节字符 164
B.4.3 每个字符的位数 165
B.4.4 字符集 165
B.4.5 未表示的字符常量 165
B.4.6 宽字符 165
B.5 整数 166
B.5.2 整数的降级 166
B.5.1 整数值的范围 166
B.4.7 转换多字节字符 166
B.4.8 char值的范围 166
B.5.3 有符号的按位操作 167
B.5.4 余数 167
B.5.6 右移 167
B.6.3 浮点值的截断 168
B.7.2 指针减法 168
B.7.1 最大数组大小 168
B.7 数组和指针 168
B.6.2 把整数强制为浮点值 168
B.6.1 值 168
B.6 浮点数学 168
B.8 寄存器:寄存器的可用性 169
B.9 结构,联合,枚举和位域 169
B.9.1 对联合的非法访问 169
B.9.2 结构成员的填充和对齐 169
B.9.3 位域的符号 169
B.9.4 位域的存储 169
B.12 语句:Switch语句的限制 170
B.11 声明符:最大数目 170
B.9.5 enum类型 170
B.10 限制符:访问Volatile对象 170
B.13 预处理命令 171
B.13.1 字符常量和条件蕴含 171
B.13.2 用尖括号蕴含的文件名 171
B.13.3 用引号蕴含的文件名 171
B.13.4 字符序列 171
B.13.5 编译指示 171
B.13.6 默认日期和时间 172
B.14 库函数 172
B.14.1 NULL宏 172
B.14.2 由assert函数打印的诊断信息 172
B.14.3 字符检测 172
B.14.7 signal函数 173
B.14.9 结束换行字符 173
B.14.8 默认信号 173
B.14.5 浮点值的下溢 173
B.14.4 值域错 173
B.14.6 fmod函数 173
B.14.14 文件缓冲 174
B.14.18 删除打开的文件 174
B.14.17 文件访问限制 174
B.14.16 文件名 174
B.14.15 零长度的文件 174
B.14.13 文本文件的截断 174
B.14.12 插入模式中的文件位置 174
B.14.11 空字符 174
B.14.10 空行 174
B.14.19 用一个已存在的名字重新命名 175
B.14.20 读指针值 175
B.14.21 读范围 175
B.14.22 文件位置错 175
B.14.23 由perror函数生成的信息 175
B.14.26 atexit函数 176
B.14.25 abort函数 176
B.14.24 分配零内存 176
B.14.27 环境名 177
B.14.28 system函数 177
B.14.29 strerror函数 177
B.14.30 时区 178
B.14.31 clock函数 178
第二部分 C++语言参考手册 181
引言 181
0.1 本手册的内容 181
0.2 本手册中的组织 181
0.3 本手册中的特殊术语 182
第1章 词法约定 183
1.1 概述 183
1.2 单词 184
1.3 注释 185
1.4 标识符 186
1.5 C++关键字 187
1.6 标点符号 188
1.7 操作符 188
1.8 文字 191
1.8.1 整数常数 191
1.8.2 字符常数 193
1.8.3 浮点常数 195
1.8.4 串文字 196
第2章 基本概念 199
2.1 术语 199
2.2 声明与定义 200
2.2.1 声明 200
2.2.2 定义 201
2.3 作用域 201
2.3.1 声明点 202
2.3.2 隐藏名字 203
2.4.1 链接的种类 205
2.4.2 具有文件作用域的名字的链接 205
2.4 程序和链接 205
2.3.3 函数形参的作用域 205
2.4.3 具有类作用域的名字的链接 206
2.4.4 具有块作用域的名字的链接 206
2.4.5 没有链接的名字 206
2.4.6 对非C++函数的链接 208
2.5 启动和结束 209
2.6.1 程序结束 212
2.6 定制命令行处理 212
2.6.2 对启动附加的考虑 213
2.6.3 对结束附加的考虑 213
2.7 存储类 215
2.7.1 自动存储类 215
2.7.2 静态存储类 215
2.7.3 寄存器存储类 216
2.7.4 外部存储类 216
2.7.5 对象的初始化 216
2.8.1 基本类型 218
2.8 类型 218
2.8.2 带长度的整数类型 220
2.8.3 派生类型 220
2.8.4 类型名 226
2.9 左值与右值 227
2.10 数字界限 228
2.10.1 整数界限 228
2.10.2 浮点界限 228
3.1 整数升级 231
第3章 标准转换 231
3.2 整数转换 232
3.2.1 将带符号的数转换为无符号的数 232
3.2.2 将无符号的数转换为带符号的数 233
3.2.3 标准转换 233
3.3 浮点转换 233
3.4 浮点和整数的转换 234
3.4.1 浮点到整数 234
3.4.2 整数到浮点 234
3.5 算术转换 234
3.6.2 指向void类型的指针 235
3.6 指针转换 235
3.6.1 空指针 235
3.6.3 指向对象的指针 236
3.6.4 指向函数的指针 236
3.6.5 指向类的指针 236
3.6.6 指针表达式 237
3.6.7 被const或volatile限定的指针 237
3.7 引用转换 238
3.8 指向成员的指针的转换 238
3.8.1 整常数表达式 238
3.8.2 指向基类成员的指针 238
第4章 表达式 240
4.1 表达式的种类 240
4.1.1 初等表达式 240
4.1.2 后缀表达式 242
4.1.3 使用单目操作符的表达式 251
4.1.4 使用双目操作符的表达式 260
4.1.5 使用条件操作符的表达式 271
4.1.6 常数表达式 272
4.1.7 使用显式类型转换的表达式 273
4.1.8 使用指向成员的指针操作符的表达式 276
4.2 表达式的语义 279
4.2.1 求值的顺序 279
4.2.2 表达式的注释 281
4.3 Casting 282
4.3.1 Casting操作符 282
4.3.2 运行类型信息 288
第5章 语句 292
5.1 概述 292
5.2 标号语句 293
5.2.1 配合goto语句使用标号 293
5.2.2 在case语句中使用标号 294
5.3 表达式语句 294
5.4 复合语句(块) 295
5.5.1 if语句 296
5.5 选择语句 296
5.5.2 switch语句 297
5.6 迭代语句 299
5.6.1 while语句 300
5.6.2 do语句 301
5.6.3 for语句 301
5.7 跳转语句 303
5.7.1 break语句 303
5.7.2 continue语句 304
5.7.3 return语句 305
5.7.4 goto语句 305
5.8 声明语句 305
5.8.1 自动对象的声明 306
5.8.2 静态对象的声明 307
5.9 异常处理 309
5.9.1 try、catch及throw语句 310
5.9.2 构造的异常处理 315
6.1 说明符 316
第6章 声明 316
6.1.1 存储类说明符 317
6.1.2 函数说明符 319
6.1.3 typedef说明符 322
6.1.4 friend说明符 325
6.1.5 类型说明符 325
6.2 枚举声明 330
6.2.1 枚举符名字 333
6.2.2 枚举符常量的定义 333
6.2.3 转换和枚举类型 334
6.3 链接规范 335
6.4 模板规范 337
6.4.1 引用模板 337
6.4.2 函数模板 338
6.4.3 成员函数模板 338
6.4.4 显式实例化 339
6.4.5 与其他实现方法的区别 339
6.5 名字空间 340
6.5.1 名字空间的声明 341
6.5.2 名字空间的定义 342
6.5.3 名字空间成员定义 343
6.5.4 名字空间的别名 344
6.5.5 Using声明 344
6.5.6 Using指令 349
6.5.7 显式限定 352
第7章 声明符 353
7.1 概述 353
7.3 抽象声明符 355
7.2 类型名 355
7.3.1 消除二义性 356
7.3.2 指针 357
7.3.3 引用 359
7.3.4 成员指针 364
7.3.5 数组 369
7.3.6 函数声明 372
7.3.7 默认参数 377
7.4 函数定义 380
7.5 初始化 382
7.5.1 初始化const对象的指针 383
7.5.2 非初始化对象 383
7.5.3 初始化静态成员 384
7.5.4 初始化聚集 384
7.5.5 初始化字符数组 387
7.5.6 初始化引用 387
8.1 概述 389
第8章 类 389
8.1.1 定义类类型 390
8.1.2 类类型对象 392
8.2 类名 393
8.2.1 声明和访问类名 394
8.2.2 typedef语句和类 395
8.3 类成员 395
8.3.1 类成员声明语法 397
8.3.2 在成员中声明未定义长度的数组 398
8.4 成员函数 399
8.3.3 类成员数据的存储 399
8.3.4 成员命名限制 399
8.4.1 成员函数综述 401
8.4.2 this指针 402
8.5 静态数据成员 404
8.6 联合 405
8.6.1 联合中的成员函数 406
8.6.2 作为类类型的联合 406
8.6.3 联合的成员数据 406
8.6.4 无名联合 407
8.7 位域 408
8.8 嵌套类声明 409
8.8.1 访问特权和嵌套类 410
8.8.2 嵌套类中的成员函数 410
8.8.3 友元函数和嵌套类 411
8.9 类作用域中的类型名 412
9.1.1 单继承 413
9.1 概述 413
第9章 派生类 413
9.1.2 多重继承 417
9.1.3 虚基类层次结构 417
9.1.4 类协议实现 418
9.1.5 基类 418
9.2 多重基类 419
9.2.1 虚基类 420
9.2.2 名字的二义性 421
9.3 虚函数 424
9.4 抽象类 428
9.5 作用域规则总结 430
9.5.1 二义性 430
9.5.2 全局名 430
9.5.3 名字和受限名 430
9.5.4 函数参数名 431
9.5.5 构造函数初始化 431
10.2 访问说明符 432
第10章 成员访问控制 432
10.1 控制对类成员的访问 432
10.3 基类的访问说明符 433
10.4 友元 436
10.4.1 友元函数 436
10.4.2 作为友元的类成员函数和类 438
10.4.3 友元声明 439
10.4.4 在类声明中定义友元函数 440
10.5 保护成员访问 440
10.6 对虚函数的访问 440
10.7 多重访问 441
第11章 特殊成员函数 442
11.1 构造函数 443
11.1.1 构造函数做什么 443
11.1.2 声明构造函数的规则 443
11.1.4 构造的次序 446
11.2 析构函数 446
11.1.3 构造函数和数组 446
11.2.1 声明析构函数 447
11.2.2 使用析构函数 448
11.2.3 析构的顺序 448
11.2.4 显式析构函数调用 449
11.3 临时对象 450
11.4 转换 451
11.4.1 转换构造函数 451
11.4.2 转换函数 453
11.5 new和delete操作符 455
11.5.1 operator new函数 455
11.5.2 处理内存不够的情况 456
11.5.3 operator delete函数 460
11.6 使用特殊成员函数进行初始化 462
11.6.1 显式初始化 462
11.6.2 初始化数组 464
11.6.3 初始化静态对象 465
11.6.4 初始化基和成员 465
11.7 拷贝类对象 467
11.7.1 编译器生成的拷贝 468
11.7.2 按成员赋值和初始化 469
第12章 重载 471
12.1 概述 471
12.1.1 参数类型的区别 471
12.1.2 重载函数的限制 472
12.2 声明匹配 473
12.3 参数匹配 475
12.3.1 参数匹配和this指针 476
12.3.2 参数匹配和转换 477
12.4 重载函数的地址 480
12.5 重载操作符 480
12.5.1 操作符重载的通用规则 482
12.5.2 一元操作符 483
12.5.3 二元操作符 486
12.5.5 函数调用 488
12.5.4 赋值 488
12.5.6 下标 489
12.5.7 类成员访问 490
附录A 文法小结 492
A.1 关键字 492
A.2 表达式 493
A.3 声明 498
A.4 声明符 502
A.5 类 504
A.6 语句 506
A.7 Microsoft扩展特性 507
附录B Microsoft特定的修饰符 509
B.1 基址寻址 509
B.2 调用和命名约定修饰符 510
B.3 扩展存储类属性 510
B.3.1 扩展属性语法 511
B.3.2 线程属性 511
B.3.3 naked属性 511
B.3.4 dllexport和dllimport属性 515
B.3.5 在C++中使用dllimport和dllexport 518
B.4 嵌入汇编器 520
附录C Microsoft特定编译器的COM支持类 521
C.1 _com_error 521
C.1.1 成员函数 522
C.1.2 操作符 525
C.2 _com_ptr_t 525
C.2.1 成员函数 526
C.2.2 操作符 529
C.3 _bstr_t 532
C.3.1 成员函数 532
C.3.2 操作符 533
C.4 _variant_t 535
C.4.1 成员函数 535
C.4.2 操作符 538
附录D 表格 541
D.1 ASCII字符代码表1 542
D.2 ASCII字符代码表2 543
D.3 ASCII多语种代码表 544
D.4 ANSI字符代码表 545
D.5 键盘代码表1 545
D.6 键盘代码表2 546
第三部分 预处理器参考手册 549
引言 549
第1章 预处理器 550
1.1 编译的阶段 550
1.2.1 #define指令 551
1.2 预处理命令 551
1.2.2 #error指令 553
1.2.3 #if,#elif,#else和#endif指令 553
1.2.4 #ifdef和#ifndef指令 557
1.2.5 #import指令 557
1.2.6 #include指令 562
1.2.7 #line指令 564
1.2.9 #undef指令 565
1.2.8 空(NULL)指令 565
1.3.1 字符串化符(#) 566
1.3 预处理操作符 566
1.3.2 字符化符(# @) 567
1.3.3 符号粘贴符(# #) 567
1.4 宏 568
1.4.1 宏和C++ 568
1.4.2 预定义宏 569
第2章 Pragma指令 572
2.1 C++编译器专有的编译指令 572
2.1.1 init-seg 572
2.1.2 pointers_to_members 573
2.1.3 Vtordisp 574
2.2 C和C++编译器的编译指令 574
2.2.1 alloc_text 574
2.2.3 bss_seg 575
2.2.4 check_stack 575
2.2.2 auto_inline 575
2.2.5 code_seg 576
2.2.6 const_seg 576
2.2.7 conrment 576
2.2.8 component 577
2.2.9 data_seg 578
2.2.10 function 578
2.2.11 hdrstop 578
2.2.12 include_alias 579
2.2.13 inline_depth 580
2.2.15 intrinsic 581
2.2.16 message 582
2.2.17 once 582
2.2.18 optimize 582
2.2.19 pack 583
2.2.20 setlocale 584
2.2.21 waming 584
附录 语法总结 586
- 《BBC人体如何工作》(英)爱丽丝.罗伯茨 2019
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《计算机组成原理解题参考 第7版》张基温 2017
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《慢性呼吸系统疾病物理治疗工作手册》(荷)瑞克·考斯林克(RikGosselink) 2020
- 《战略情报 情报人员、管理者和用户手册》(澳)唐·麦克道尔(Don McDowell)著 2019
- 《幼儿园课程资源丛书 幼儿园语言教育资源》周兢编 2015
- 《2014年全新版浙江省人事考试参考用书 申论》曹文彪 2013
- 《实用内科手册》黄清,阮浩航主编 2016
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《可汗解梦》俄罗斯领航Pilot动画公司 2017
- 《反常识》张娟责任编辑;(美国)邓肯·J.瓦茨 2019
- 《手工咖啡 咖啡爱好者的完美冲煮指南》(美国)杰茜卡·伊斯托,安德烈亚斯·威尔霍夫 2019
- 《小牛顿科学故事馆 进化论的故事》小牛顿科学教育公司编辑团队 2018
- 《小牛顿科学故事馆 医学的故事》小牛顿科学教育公司编辑团队 2018
- 《灭绝生物的故事》小牛顿科学教育公司编辑团队编著 2018
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019
- 《评弹与江南社会研究丛书 梅与竹 中国传统苏州评弹》李东鹏译;(美国)马克·本德尔 2019
- 《今日版式》善本出版有限公司编 2017
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019