加载中...
C++学完多线程后,学什么呢?
第1节:代码改善:一个“坑爹”的文字类冒险游戏
第2节:在禁止多重继承的情况下,如何设计“直立智慧猩猩”类?
第3节:C++多线程代码中的“乱序”执行现象
第4节:C++中函数指针有什么作用呢?
第5节:为什么我用c++写的游戏那么简陋?
第6节:多线程读写socket导致的数据混乱的原因是什么?
第7节:WebSocket 是什么原理?为什么可以实现持久连接?
第8节:怎样在c++中实现instanceof?
第9节:一个函数多处 return 是好风格吗?
第10节:C++中虚函数相比非虚函数的优势
第11节:为什么 C::C::C::C::foo() 能编译成功?
第12节:如何静态反射C++枚举的名字
第13节:看C++大叔如何拥 java 妹子入怀……
第14节:坨——理解递归实现“汉诺塔”代码的关键
第15节:C++编译器如何实现 const(常量)?
第16节:C++如何为断言加上消息
第17节:初学C++到什么水平,算是合格的初级开发工程师?
第18节:C++编程要避免使用单例模式吗?
第19节:学习C++要学boost库吗?
第20节:C++的继承就是复制吗?
第21节:C++构造函数失败,如何中止创建对象?
第22节:C++学完多线程后,学什么呢?
第23节:string_view 适合用做函数的返回值类型吗?
第24节:为指针取别名,为何影响const属性?
第25节:std::enable_shared_from_this 的存在意义?
第26节:C++模板可变参数如何一次性解包?
第27节:Linux下的c++开发,平时是怎么调试代码的呢?
课文封面

相当于:

  1. 单线程、无网络的程序:一家公司,一个员工干活 (光杆司令,个体户?);
  2. 多线程,无网络的程序:一家公司,招聘了几位小弟内部合作(有样子也有效率啦);
  3. 多线程,有网络的程序:好几家公司之间互相配合干活。

0. 概述

多线程学完后,可以学网络。
相当于这么一个学习及实际开发中常见演进过程:

  1. 单线程、无网络的程序:一家公司,一个员工干活 (光杆司令,个体户?);
  2. 多线程,无网络的程序:一家公司,招聘了几位小弟内部合作(有样子也有效率啦);
  3. 多线程,有网络的程序:好几家公司之间互相配合干活。

当然,中间或许也还会有个步骤:单线程,但有网络(几个光杆司令之间配合?)

《白话C++》 下部“练武”, 就是按这个过程安排的。

第12章 《并发》

第12章-并发

有这一章,不是光标司令了,你手下有兵帮忙干活,但是,还得对外连横……

第13章 《网络》

第13章-网络

网络服务端当然是最常见的需要并发支持的程序,比如要处理多个用户的访问;网络客户端也会有并发需要,比如网络爬虫一次抓取多个网站资源。

这两点书时里都讲了以个,C++的另一个相对传统需求的图形界面编程,《白话C++》也有专门一章,就在《并发》前面。

第11章:GUI

GUI,也就是图形用户界面。这是C++的传统战场,很多企业还在使用。

第11章-GUI

相当于开公司之前的办公场地门面装修吧……哈哈 :)

GUI客户端也是需要提供并发和网络支持(GUI+并发+网络),这一块也不会对您落下:

GU+并发+网络

没错,是一个支持跨平台的原生GUI的群聊聊天室。在这个非常经典的例子里 ,大家可以非常真实地学习到,来自异构框架的:网络客户端(wxWidget)和 网络服务端(asio)如何在TCP协议标准下实现支持多个聊友的并发通信……

你的实战产品:奇奇怪怪聊天室

并发和GUI如何配合,这绝对是一个当年微软OFFICE产品线面试都会问到的知识点,毕竟多数GUI框架,并不支持后台线程直接刷界面。于是,消息对列 事件循环等知识点你都将在有实际开发案例的情况下学习到。

说到网络客户端,这书不仅有讲TCP,甚至UDP,FTP,HTTP都给了案例。

猜一下,在“门面装修 GUI”之前的第九章应该是什么?而在“跨公司合作 并发”的下一章,又应该是什么?可以看看本站的更多课程文章。

总而言之,暂时你可能找不到第二套如此结合练语法,练编程思想(OP、OB、OO,GP)互联网时代要求的C++书籍了。