你会学到什么?
本小册主要通过以下 四个模块
向大家传递 C++ 相关知识的。
- 模块一,C++ 开发环境相关的知识。对于初学者来说,这部分知识是
进入 C++ 世界的大门
,学完这部分知识之后,你就会知道一个 C++ 程序是怎么被编译成二进制程序的,以及二进制程序是怎么在计算机中运行的。 - 模块二,C++ 语言的基础知识。本着删繁就简的原则,小册只用了 9 章的内容就把基本的 C++ 语法内容讲解透彻,而且讲解的过程中不但兼顾原理性知识,与此同时还会与 JavaScript 语言进行对比,引导你用现有知识掌握新知识。
- 模块三,C++ 标准库知识。这部分内容旨在让你掌握标准库的基本用法,C++ 标准库里包含一系列重要的工具,这些工具有助于开发者更高效地完成业务需求的开发工作。
- 模块四,C++ 实战知识。这一部分主要介绍了如何使用 C++ 开发 Node.js 原生模块,以及如何使用 C++ 开发 WebAssembly 组件,与前端开发工作贴合比较紧密。
课程简介
目前市面上关于 C++ 的书籍主要分为两类。
- 一类是事无巨细,力争涵盖所有 C++ 语法细节。这会让读者很容易迷失在 C++ 语法细节的“汪洋大海”里,有的时候学了后面的,忘了前面的,甚至有的时候还会被一些实战中很少使用的知识点打击自信心,萌生放弃学习 C++ 的念头。
- 另一类是挑选几个 C++ 技术的切入点,深入剖析,艰深难懂。这类书籍面向的读者大都是已经掌握了 C++ 基本语法的程序员,并不会介绍 C++ 浅显的语法知识,因此对于初学者来说往往是晦涩难懂的。
本小册与这两类书籍不同,首先我们把小册的读者框定为 已经掌握了前端开发技术的程序员
,这让我们有能力在一个更高的维度上组织内容,用更少的内容更有针对性地传递知识,不必再向大家传递那些非常基础的知识了,比如什么是变量、方法、条件、循环、类型等。在小册中,我们还会不断地比较 JavaScript 与 C++ 的异同,引导你基于固有的知识学习新的知识,以此为你带来一个比较愉悦的学习过程
。
另外,大家都知道,C++ 在这几十年的发展历程中积累了非常多的语法特性,本小册为了让你能更轻松地进入 C++ 编程领域,刻意回避了那些在实际项目中很少用到的语法细节,这些知识一部分是已经被历史淘汰过了,你没必要再浪费精力去学习;另一部分则是一些高级技术,等你在实际项目中用到它们的时候再去查阅资料也不迟。这样做主要是为了缩短学习过程,让你在一个较短的时间内掌握基础的 C++ 技能
,尽快进入实战应用环节。
除此之外,小册并没有忽略那些重要的底层原理性知识,反而花了不少的篇幅介绍这些内容,让你学习 C++ 语法知识的同时也能了解程序运行背后的道理,达到“知其然并知其所以然”的目的。
下面是从小册中截取的一些知识点相关的示意图:
课程目录
JavaScript 与 C++ 的差异
C++ 开发环境其实挺难搞的(上)
C++ 开发环境其实挺难搞的(下)
本立道生:必备的基础知识
语法入门:C++ 语法基础
内存的琴键:引用与指针
描述事物:自定义类型(上)
描述事物:自定义类型(下)
面向对象构建世间万物
让开发者更省心的智能指针
一句顶一万句:模板
头等公民:函数
查漏补缺:语法拾遗
兵器库:常用的工具
包罗万象:容器
并行处理:线程(上)
并行处理:线程(下)
使用标准库处理文件
原生应用调试技巧
开发 Node.js 原生模块(上)
开发 Node.js 原生模块(下)
使用 C++ 开发 WebAssembly 模块(上)
已学完
使用 C++ 开发 WebAssembly 模块(下)
结语
作者介绍
晓伦liulun,资深桌面端开发工程师。目前在一家大型国有控股上市公司任职,主要负责桌面端产品的核心技术研发、重难点技术攻关,以及新技术的预研和技术储备工作,拥有十几年的软件开发经验,在 Electron、 Qt、 CEF 等领域都有较深的知识积累。
现已出版两本与桌面端编程相关的技术图书
:《Electron 实战:入门、进阶与性能优化》 和 《深入浅出 Electron:原理、工程与实践》。