编程语言
首页 > 编程语言> > 有什么高质量的现代 C++ 风格的开源代码?

有什么高质量的现代 C++ 风格的开源代码?

作者:互联网

携程旅行网 资深研发工程师  

很多答案推荐的开源代码都是大部头,说说我学习现代 C++ 的代码的经历吧。

我们说的现代 C++ 风格,一般指的是 C++11 及之后的 C++版本,目前比较实用且得到大多数编译器支持的是 C++11/14/17 标准。

1. Filezilla

2016 年的时候,我无意中发现我用了多年的 FTP 软件 Filezilla 竟然用 C++ 11 重写了。

Filezilla界面

FileZilla 的源码是一个德国开发者写的,其代码质量也不错,而且使用的是 C++11 写的。可以一边调试一边学习,学完后,我的 C++11 功能得到了大大增强。

不怕你笑话,我在上学的时候,曾看过 Filezilla 0.x 版本的代码,那个时候 UI 界面用的还是 MFC。

贴一下 Filezilla 的部分代码,红框标出来的部分为 C++11 的语法特性:

 

代码质量总体很不错。我修改了下让其可以在 Visual Studio 中调试,这样你可以一边调试一边学习。

一套源码如果能够容易编译、调试,同时其业务是容易理解的(通俗地说,就是这套代码的功能是什么的),那么才利于新手学习。

我已经将环境和依赖都配置好了,代码获取链接:

张小方:分享一款 ftp 软件 —— filezilla的源码

2. uWebSocket

uWebSocket 是一款开源的 WebSocket 库,最新版使用了大量 C++17 的语法,代码量非常少。

下载地址:

https://github.com/uNetworking/uWebSockets

我们改造了这个项目,用于我们的交易系统的行情推送服务器。

3. TeamTalk 的 PC 端

TeamTalk 是蘑菇街开源的一款用于企业内部的即时通信工具,其代码下载地址是:

https://github.com/balloonwj/TeamTalk/tree/master/win-client

学习方法

C++11/14 网上的资料已经很多了,C++17 的资料不多,重头戏还是 C++11 引入的各种实用特性,这就给读者推荐一本我读过的:

网上有同学分享出来了:

链接: https://pan.baidu.com/s/1o46vG8xNl3VTFPCi9dnPPQ 密码: gqnr

 

我在我自己的《C++服务器开发精髓》一书的第一章和第三章中也详细地介绍了 C++11/14/17 新增的常用特性和实用方法,有兴趣的读者也可以阅读一下。

 

只收藏不点赞的都是耍流氓,关注我 

@张小方  哦~

 

标签:11,17,代码,高质量,C++,Filezilla,源代码,调试
来源: https://www.cnblogs.com/sexintercourse/p/14978876.html