• 有什么高质量的现代 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 的语法,代码量非常少。

    下载地址:

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

    3. TeamTalk 的 PC 端

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

    学习方法

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

    • 《深入理解 C++11:C++11 新特性解析与应用》
    • 《深入应用 C++11:代码优化与工程级应用》
    • 《C++17 完全指南》
    • 《Cpp 17 in Detail》

    网上有同学分享出来了:

    链接:  密码: gqnr

     

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

     

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

     哦~
    漫思
  • 相关阅读:
    [NOI2005]维修数列
    [USACO07OPEN]吃饭Dining
    [TJOI2010]打扫房间
    [SCOI2005]最大子矩阵
    [HNOI2007]最小矩形覆盖
    [HAOI2006]受欢迎的牛
    BZOJ2087[Poi2010] Sheep
    [USACO08DEC]在农场万圣节Trick or Treat on the Farm
    [POI2013]BAJ-Bytecomputer
    HGOI20190126 模拟赛
  • 原文地址:https://www.cnblogs.com/sexintercourse/p/14978876.html
Copyright © 2020-2023  润新知