作品简介

本书是一部C/C++编程语言书,定位在C/C++语言本身的讲解上面。本书包含纸质图书以及教学源代码文件。

本书共分为三部分:第1部分为C/C++语言概述(第1章),主要介绍了C和C++语言的起源、市场需求、就业形势及如何搭建语言开发环境等内容。第2部分为C语言(第2~12章),主要介绍C语言的各种开发知识,包括基础知识,如常量、变量、表达式、程序结构、数组、函数等,也包括高级知识,如指针、结构、位运算、文件等,本部分的学习正是为后面的学习打下基础。第3部分C++语言(第13~20章),主要介绍C++语言的各种开发知识,包括基础知识比如面向对象编程、命名空间、容器、迭代器,也包括类的详细介绍、模板与泛型的详细介绍;高级知识比如智能指针详细介绍、并发与多线程详细介绍;扩展知识比如内存高级话题、STL标准模板库大局观,C++11新标准比如可调用对象、万能引用、函数模板类型推断、引用折叠、完美转发、auto推断、decltype、lambda表达式、初始化列表、类型萃取等。

本书以择业为导向,涵盖90%的C/C++语言常用开发知识,通俗易懂、范例众多,对于希望从事C/C++开发的读者极具实用价值,本书是一本不可多得的、值得珍藏并能够陪伴读者数年甚至数十年的参考书。

本书主要适合以下几类读者:

(1)C/C++语言初学者或者其他计算机语言转到C/C++语言的程序员。

(2)从事C/C++开发多年的程序员,希望能够详细地复习一下基础的C/C++知识,把整个知识线串一串,形成一个比较完整的学习体系。

(3)已经掌握C++98标准,但是需要进一步学习C++11/14/17新标准的程序员。

王健伟

男,1976年9月生,网名狂想(KuangXiang),1995年毕业于哈尔滨工程大学计算机及应用专业,拥有20多年软件开发经验,参与开发过数十个实际项目,涉及网络通信、网络安全、网络游戏等领域,具备极其深厚的软件开发实战经验。曾参与创办深圳知名网络安全公司安络科技有限公司,是中国首套网络安全在线扫描评估系统项目负责人、全球同服独立游戏《冒险之路》制作人。

C++新经典系列一共计划出七本书,每本书都追求在中国以及世界范围内的同类书籍中,在所涉及知识的深度、广度、易学性、实用性方面无以伦比,对于C/C++语言学习者,千万不要错过这个系列的每一本书。这七本书的出版时间跨度大概为2020~2023年之间,截止到2020年8月,该系列已出版的书籍为《C++新经典》与《C++新经典:对象模型》两本书。

作品目录

  • 内容简介
  • 作者简介
  • 前言
  • 第1部分 C/C++语言概述
  • 第1章 C/C++语言
  • 1.1 C和C++语言的起源、特点、关系与讲解范畴
  • 1.2 C/C++语言的市场需求与就业需求分析
  • 1.3 再谈C/C++就业
  • 1.4 搭建语言开发环境
  • 第2部分 C语言
  • 第2章 数据类型、运算符与表达式
  • 2.1 常量、变量、整型、实型和字符型
  • 2.2 算术运算符和表达式
  • 2.3 赋值运算符和逗号运算符
  • 第3章 程序的基本结构和语句
  • 3.1 C语言的语句和程序的基本结构
  • 3.2 数据的输出与数据的输入
  • 第4章 逻辑运算和判断选择
  • 4.1 关系运算符、关系表达式与逻辑运算符、逻辑表达式
  • 4.2 if语句详解
  • 4.3 条件运算符和switch语句
  • 第5章 循环控制
  • 5.1 循环控制语句简介与goto、while、do…while语句精解
  • 5.2 for语句精解
  • 5.3 循环的嵌套、比较与break语句、continue语句
  • 第6章 数组
  • 6.1 一维数组
  • 6.2 二维数组
  • 6.3 字符数组
  • 第7章 函 数
  • 7.1 函数的基本概念和定义
  • 7.2 函数调用方式和嵌套调用
  • 7.3 函数递归调用精彩演绎
  • 7.4 数组作为函数参数
  • 7.5 局部变量和全局变量
  • 7.6 变量的存储和引用与内部和外部函数
  • 第8章 编译预处理
  • 8.1 宏定义
  • 8.2 文件包含和条件编译
  • 第9章 指 针
  • 9.1 指针的基本概念详解
  • 9.2 变量的指针和指向变量的指针变量
  • 9.3 数组的指针和指向数组的指针变量
  • 9.4 字符串的指针和指向字符串的指针变量
  • 9.5 函数指针和返回指针值的函数
  • 9.6 指针数组、指针的指针与main函数参数
  • 9.7 本章小结
  • 第10章 结构体与共用体
  • 10.1 结构体变量定义、引用与初始化
  • 10.2 结构体数组与结构体指针
  • 10.3 共用体、枚举类型与typedef
  • 第11章 位运算
  • 11.1 位的概念和位运算符简介
  • 11.2 位运算的具体应用
  • 第12章 文 件
  • 12.1 文件简介及文本、二进制文件区别
  • 12.2 文件的打开、关闭、读写与实战操练
  • 12.3 将结构体写入二进制文件再读出
  • 第3部分 C++语言
  • 第13章 C++基本语言
  • 13.1 语言特性、工程构成与可移植性
  • 13.2 命名空间简介与基本输入/输出精解
  • 13.3 auto、头文件防卫、引用与常量
  • 13.4 范围for、new内存动态分配与nullptr
  • 13.5 结构、权限修饰符与类简介
  • 13.6 函数新特性、inline内联函数与const详解
  • 13.7 string类型
  • 13.8 vector类型
  • 13.9 迭代器精彩演绎、失效分析及弥补、实战
  • 13.10 类型转换:static_cast、reinterpret_cast等
  • 第14章 类
  • 14.1 成员函数、对象复制与私有成员
  • 14.2 构造函数详解、explicit与初始化列表
  • 14.3 inline、const、mutable、this与static
  • 14.4 类内初始化、默认构造函数、“=default;”和“=delete;”
  • 14.5 拷贝构造函数
  • 14.6 重载运算符、拷贝赋值运算符与析构函数
  • 14.7 子类、调用顺序、访问等级与函数遮蔽
  • 14.8 父类指针、虚/纯虚函数、多态性与析构函数
  • 14.9 友元函数、友元类与友元成员函数
  • 14.10 RTTI、dynamic_cast、typeid、type-info与虚函数表
  • 14.1 1 基类与派生类关系的详细再探讨
  • 14.12 左值、右值、左值引用、右值引用与move
  • 14.13 临时对象深入探讨、解析与提高性能手段
  • 14.14 对象移动、移动构造函数与移动赋值运算符
  • 14.15 继承的构造函数、多重继承、类型转换与虚继承
  • 14.16 类型转换构造函数、运算符与类成员指针
  • 第15章 模板与泛型
  • 15.1 模板概念与函数模板的定义、调用
  • 15.2 类模板概念与类模板的定义、使用
  • 15.3 使用typename的场合、函数模板、默认模板参数与趣味写法分析
  • 15.4 成员函数模板,模板显式实例化与声明
  • 15.5 using定义模板别名与显式指定模板参数
  • 15.6 模板全特化与偏特化(局部特化)
  • 15.7 可变参模板与模板模板参数
  • 第16章 智能指针
  • 16.1 直接内存管理(new/delete)、创建新工程与观察内存泄漏
  • 16.2 new/delete探秘、智能指针总述与shared_ptr基础
  • 16.3 shared_ptr常用操作、计数与自定义删除器等
  • 16.4 weak_ptr简介、weak_ptr常用操作与尺寸问题
  • 16.5 shared_ptr使用场景、陷阱、性能分析与使用建议
  • 16.6 unique_ptr简介与常用操作
  • 16.7 返回unique_ptr、删除器与尺寸问题
  • 16.8 智能指针总结
  • 第17章 并发与多线程
  • 17.1 基本概念和实现
  • 17.2 线程启动、结束与创建线程写法
  • 17.3 线程传参详解、detach坑与成员函数作为线程函数
  • 17.4 创建多个线程、数据共享问题分析与案例代码
  • 17.5 互斥量的概念、用法、死锁演示与解决详解
  • 17.6 unique_lock详解
  • 17.7 单例设计模式共享数据分析、解决与call_once
  • 17.8 condition_variable、wait、notify_one与notify_all
  • 17.9 async、future、packaged_task与promise
  • 17.10 future其他成员函数、shared_future与atomic
  • 17.11 Windows临界区与其他各种mutex互斥量
  • 17.12 补充知识、线程池浅谈、数量谈与总结
  • 第18章 内存高级话题
  • 18.1 new、delete的进一步认识
  • 18.2 new内存分配细节探秘与重载类内operator new、delete
  • 18.3 内存池概念、代码实现和详细分析
  • 18.4 嵌入式指针概念及范例、内存池改进版
  • 18.5 重载全局new/delete、定位new及重载
  • 第19章 STL标准模板库大局观
  • 19.1 STL总述、发展史、组成与数据结构谈
  • 19.2 容器分类与array、vector容器精解
  • 19.3 容器的说明和简单应用例续
  • 19.4 分配器简介、使用与工作原理说
  • 19.5 迭代器的概念和分类
  • 19.6 算法简介、内部处理与使用范例
  • 19.7 函数对象回顾、系统函数对象与范例
  • 19.8 适配器概念、分类、范例与总结
  • 第20章 高级话题与新标准
  • 20.1 函数调用运算符与function类模板
  • 20.2 万能引用
  • 20.3 理解函数模板类型推断与查看类型推断结果
  • 20.4 引用折叠、转发、完美转发与forward
  • 20.5 理解auto类型推断与auto应用场合
  • 20.6 详解decltype含义与decltype主要用途
  • 20.7 可调用对象、std::function与std::bind
  • 20.8 lambda表达式与for_each、find_if简介
  • 20.9 lambda表达式捕获模式的陷阱分析和展示
  • 20.10 可变参数函数、initializer_list与省略号形参
  • 20.11 萃取技术概念与范例等
  • 后记 IT职业发展的未来之路
展开全部