2021 年最新整理, C++ 学习资料,含 C++ 新特性、入门教程、推荐书籍、优质文章、学习笔记、教学视频等 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
pro/about
wangwen41097468

2021 年最新整理, C++ 学习资料,含 C++ 新特性、入门教程、推荐书籍、优质文章、学习笔记、教学视频等

  •  
  •   wangwen41097468 2021 年 9 月 29 日 1442 次点击
    这是一个创建于 1669 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本内容节选自:https://github.com/0voice/cpp_new_features

    有需要学习 C++的小伙伴们可以前往。

    C++ 发展历程

    • C++ 编程语言的历史可以追溯到 1979 年,当时 Bjarne Stroustrup 为博士学位论文进行了一些开发。在 Stroustrup 可以使用的所有语言中,有一种被称为 Simula 的语言,顾名思义,它可能是一种主要为仿真而设计的语言。Simula 67 语言是 Stroustrup 使用的变体,被认为是支持面向对象编程范例的主要语言。Stroustrup 发现这种范例对包装开发很有帮助。但是,Simula 语言对于实践和实际使用而言太慢了。随后不久,Bjarne Stroustrup 希望通过支持面向对象范例来增强 C 。他深入研究了 Smalltalk 的 OO 实现,以获取有关实现的想法。但是他不愿意为此放弃性能,因此他开始从事 “C with Classes (带有类的 C )” 的工作,希望 C++ 代码运行时应具有与 C 代码相似(或更好)的性能。

    • 1983 年,语言的名称从 “带有类的 C” 更改为 C++。C 语言中的 ++ 运算符是用于递增变量的运算符,它使您可以深入了解 Stroustrup 如何看待该语言。在此期间添加了许多新功能,其中最引人注目的是虚函数,函数重载,带有&符号的引用,const 关键字和使用两个正斜杠的单行注释。

    • 1985 年,Stroustrup 出版了名为“C++ 编程语言” 的书籍。同年,C++ 被实现为商业产品。该语言尚未正式标准化,因此使该书成为非常重要的参考。该语言在 1989 年再次进行了更新,以包括受保护的成员和静态成员,以及从多个类的继承。

    • 1990 年,发行了《带注释的 C++ 参考手册》。同年,Borland 的 Turbo C++ 编译器将作为商业产品发布。Turbo ++ 添加了许多其他库,这些库会对 C++ 的开发产生相当大的影响。尽管 Turbo C++ 的最后一个稳定版本是 2006 年,但该编译器仍被广泛使用。

    • 1998 年,C++ 标准委员会发布了第一个 C++ ISO / IEC 14882:1998 国际标准,其非正式名称为 C++ 98 。据说《带注释的 C++ 参考手册》对标准的制定产生了很大的影响。还包括标准模板库,该模板库于 1979 年开始概念开发。2003 年,该委员会对 1998 年标准所报告的多个问题做出了回应,并对其进行了相应的修订。更改的语言称为 C++ 03 。

    • 2005 年,C++ 标准委员会发布了一份技术报告(称为 TR1 ),详细介绍了他们计划添加到最新 C++ 标准中的各种功能。新标准被非正式地称为 C++ 0x,因为它有望在第一个十年结束之前的某个时间发布。具有讽刺意味的是,新标准要到 2011 年年中才会发布。直到那时为止,已经发布了几份技术报告,并且一些编译器开始为新功能添加实验性支持。

    • 2011 年中,新的 C++ 标准(称为 C++ 11 )完成。Boost 库项目对新标准产生了重大影响,其中一些新模块直接来自相应的 Boost 库。一些新功能包括正则表达式支持,全面的随机化库,新的 C++ 时间库,原子支持,标准线程库 ,一种新的 for 循环语法,提供的功能类似于某些其他语言中的 foreach 循环,auto 关键字,新的容器类,对联合和数组初始化列表以及可变参数模板的更好支持。

    • 2014 年,C++ 14 (也称为 C++ 1y )作为 C++11 的一个小扩展发布,主要功能是错误修复和小的改进,国际标准投票程序草案于 2014 年 8 月中完成,加强 lambda 函数,constexpr 和类型推导特性。

    • 2017 年,发布 C17 标准,C17 提供了很多东西。增强了核心语言和库。

    • 2020 年,发布 C++20 标准,推出了很多重量级功能,其中比较重要的有:

      • Concepts:概念改变了我们思考和编程模板的方式。它们是模板参数的语义类别。它们使您可以直接在类型系统中表达您的意图。如果出了什么问题,您会收到清晰的错误消息。
      • Ranges library:新的 ranges 库使它可以直接在容器上执行算法,用管道符号组成算法,并将其应用于无限数据流。
      • Coroutines:由于协程,C++ 中的异步编程成为主流。协程是协作任务,事件循环,无限数据流或管道的基础。
      • Modules:模块克服了头文件的限制。头文件和源文件的分离变得和预处理器一样过时了。最后,我们有更快的构建时间和更轻松的构建软件包的方法。
      • Concurrency:Atomic Smart Pointers,Joining & Cancellable Threads,The C20 Synchronization Library,增强了 C++ 并发编程能力;

    [重磅推荐收藏:C++ 参考手册] - 11~20 你想要查的,他都有

    入门教程

    C++ 入门教程( 41 课时) - 阿里云大学

    • C++ 教程
    • C++ 简介
    • C++ 环境设置
    • C++ 基本语法
    • C++ 注释
    • C++ 数据类型
    • C++ 变量类型
    • C++ 变量作用域
    • C++ 常量
    • C++ 修饰符类型
    • C++ 存储类
    • C++ 运算符
    • C++ 循环
    • C++ 判断
    • C++ 函数
    • C++ 数字
    • C++ 数组
    • C++ 字符串
    • C++ 指针
    • C++ 引用
    • C++ 日期 & 时间
    • C++ 基本的输入输出
    • C++ 数据结构
    • C++ 类 & 对象
    • C++ 继承
    • C++ 重载运算符和重载函数
    • C++ 多态
    • C++ 数据抽象
    • C++ 数据封装
    • C++ 接口(抽象类)
    • C++ 文件和流
    • C++ 异常处理
    • C++ 动态内存
    • C++ 命名空间
    • C++ 模板
    • C++ 预处理器
    • C++ 信号处理
    • C++ 多线程
    • C++ Web 编程
    • C++ STL 教程
    • C++ 标准库

    书籍推荐

    • 《深入理解 C++11:C++11 新特性解析与应用》
    • 《 C++入门经典(第 10 版)》
    • 《 C++ Primer Plus 第 6 版 中文版(异步图书出品)》
    • 《清华计算机图书译丛:精通 C++(第 9 版)》
    • 《 C++高级编程(第 4 版)》
    • 《 C++游戏编程入门(第 4 版)(异步图书出品)》
    • 《 STL 源码剖析》
    • 《 C++程序设计:原理与实践(基础篇)(原书第 2 版)》
    • 《 Accelerated C++中文版》
    • 《 C++编程思想(两卷合订本)》
    • 《中文版 Effective STL:50 条有效使用 STL 的经验》
    • 《 C++编程剖析:问题、方案和设计准则》
    • 《 C++ Templates 中文版》
    • 《 C++设计新思维》
    • 《 C++模板元编程》
    • 《 C++并发编程实战》
    • 《 C++程序设计语言(第 1-3 部分)(原书第 4 版)》
    • 《 C++标准库(第 2 版)》
    • 《 Essential C++》
    • 《 C++ 语言的设计与演化》
    • 《深度探索 C++ 对象模型》
    • 《泛型编程与 STL 》

    文章推荐

    • 每个 c++开发人员都应该使用的 10 个 c++11 特性
    • 在 c++项目中你必须真正使用的 15 个 c++11 特性
    • 如何在 C++11 中使用 Lambda 表达式
    • 深入理解 C++11
    • 吐血整理:C++11 新特性
    • C++11 新特性之 auto 和 decltype 知识点
    • C++11 新特性之左值引用、右值引用、移动语义、完美转发
    • C++11 新特性之列表初始化
    • C++11 新特性 std::function 和 lambda 表达式
    • C++11 新特性之模板改进
    • C++11 新特性之线程相关知识点
    • C++11 新特性之异步操作-async
    • C++11 新特性之智能指针
    • C++11 常用新特性(一)
    • C++11 常用新特性(二)
    • C++14 新特性浅谈
    • C++14 新特性的所有知识点全在这儿啦
    • 总结归纳:C++17 新特性

    教学视频

    [ GeekBand ] 侯捷 - C++面向对象高级编程

    • P1 C++编程简介
    • P2 头文件与类的声明
    • P3 构造函数
    • P4 参数传递与返回值
    • P5 操作符重载与临时对象
    • P6 复习 Complex 类的实现过程
    • P7 三大函数:拷贝构造,拷贝复制,析构
    • P8 堆,栈与内存管理
    • P9 复习 String 类的实现过程
    • P10 扩展补充:类模板,函数模板,及其他
    • P11 组合与继承
    • P13 委托相关设计
    • P14 1 导读
    • P15 2 conversion function
    • P16 3 non explicit one argument constructor
    • P17 4 pointer like classes
    • P18 5 function like classes
    • P19 6 namespace 经验谈
    • P20 7 class template
    • P21 8 Funtion Template
    • P22 9 Member Template
    • P23 10 specialization
    • P24 11 模板偏特化
    • P25 12 模板模板参数
    • P26 13 关于 C++标准库
    • P27 14 三个主题
    • P28 15 Reference
    • P29 16 复合&继承关系下的构造和析构
    • P30 17 关于 vptr 和 vtbl
    • P31 18 关于 this
    • P32 19 0 关于 Dynamic Binding
    • P33 19 1 关于 Dynamic Binding
    • P34 20 关于 New,Delete
    • P35 21 Operator new,operator delete
    • P36 22 示例
    • P37 23 重载 new,delete$示例
    • P38 24 Basic String 使用 newextra 扩充申请量

    干货铺

    • C++ Standard Library - 一系列类和函数的集合,使用核心语言编写,也是 C++ISO 自身标准的一部分
    • Standard Template Library - 标准模板库
    • C POSIX library - POSIX 系统的 C 标准库规范
    • ISO C++ Standards Committee - C++标准委员会
    • C++ FAQ C++ 常见问题
    • Free Country Free Country 提供了免费的 C++ 源代码和 C++ 库,这些源代码和库涵盖了压缩、存档、游戏编程、标准模板库和 GUI 编程等 C++ 编程领域。
    • C and C++ Users Group C 和 C++ 的用户团体提供了免费的涵盖各种编程领域 C++ 项目的源代码,包括 AI 、动画、编译器、数据库、调试、加密、游戏、图形、GUI 、语言工具、系统编程等
    • LearnCpp - 免费学习 c++编程
    • CodeCogs - CodeCogs 是一项协作的开放源码库,C/C++的数值方面的组件
    • codeproject - codeproject 提供的 C/C++资源代码项目
    • thoughtco - 游戏有关的 C++源代码
    • Free C/C++ Libraries - 免费 C++源代码和其它有用的工具
    • The C++ Standard Library - 这是一个收集了数 C/C++网站链接列表的网页
    • cplusplus - C++学习网站
    • C++ Source Codes - 这是一个全面的关于 C++的 345 个源代码清单

    框架

    • Apache C++ Standard Library : 是一系列算法,容器,迭代器和其他基本组件的集合
    • ASL : Adobe 源代码库提供了同行的评审和可移植的 C++源代码库。
    • Boost : 大量通用 C++库的集合。
    • BDE : 来自于彭博资讯实验室的开发环境。
    • Cinder : 提供专业品质创造性编码的开源开发社区。
    • Bxxomfort : 轻量级的,只包含头文件的库,将 C++ 11 的一些新特性移植到 C++03 中。
    • Dlib : 使用契约式编程和现代 C++科技设计的通用的跨平台的 C++库。
    • EASTL : EA-STL 公共部分
    • ffead-cpp : 企业应用程序开发框架
    • Folly : 由 Facebook 开发和使用的开源 C++库。
    • JUCE : 包罗万象的 C++类库,用于开发跨平台软件
    • libphenom : 用于构建高性能和高度可扩展性系统的事件框架。
    • LibSourcey : 用于实时的视频流和高性能网络应用程序的 C++11 evented IO
    • Loki : C++库的设计,包括常见的设计模式和习语的实现。
    • MiLi : 只含头文件的小型 C++库
    • openFrameworks : 开发 C++工具包,用于创意性编码。
    • Qt : 跨平台的应用程序和用户界面框架
    • Reason : 跨平台的框架,使开发者能够更容易地使用 Java,.Net 和 Python,同时也满足了他们对 C++性能和优势的需求。
    • ROOT : 具备所有功能的一系列面向对象的框架,能够非常高效地处理和分析大量的数据,为欧洲原子能研究机构所用。
    • STLport : 是 STL 具有代表性的版本
    • STXXL : 用于额外的大型数据集的标准模板库。
    • Ultimate++ : C++跨平台快速应用程序开发框架
    • Windows Template Library : 用于开发 Windows 应用程序和 UI 组件的 C++库
    • Yomm11 : C++11 的开放 multi-methods.

    异步事件循环

    • Boost.Asio : 用于网络和底层 I/O 编程的跨平台的 C++库。
    • libev : 功能齐全,高性能的时间循环,轻微地仿效 libevent,但是不再像 libevent 一样有局限性,也修复了它的一些 bug 。
    • libevent : 事件通知库
    • libuv : 跨平台异步 I/O 。
    • libco : 协程,微信支持 8 亿用户同时在线的底层 IO 库。功能强大
    • libgo : golang 风格的并发框架,C++11 实现协程库

    网络库

    • ACE : C++面向对象网络变成工具包
    • Casablanca : C++ REST SDK
    • cpp-netlib : 高级网络编程的开源库集合
    • libCurl : 多协议文件传输库
    • Mongoose : 非常轻量级的网络服务器
    • Muduo : 用于 Linux 多线程服务器的 C++非阻塞网络库
    • net_skeleton : C/C++的 TCP 客户端 /服务器库
    • POCO : 用于构建网络和基于互联网应用程序的 C++类库,可以运行在桌面,服务器,移动和嵌入式系统。
    • RakNet : 为游戏开发人员提供的跨平台的开源 C++网络引擎。
    • Tufao : 用于 Qt 之上的 C++构建的异步 Web 框架。
    • WebSocket++ : 基于 C++/Boost Aiso 的 websocket 客户端 /服务器库
    • ZeroMQ : 高速,模块化的异步信库

    TCP/IP 协议栈

    • f-stack : 腾讯开源的协议栈,基于 DPDK 的高性能用户态协议栈。
    • NtyTcp : 单线程的协议栈的,基于 netmap,DPDK,rawSocket 的实现。
    • LWIP : 针对 RAM 平台的精简版的 TCP/IP 协议栈实现。
    • mTCP : 针对多核系统的高可扩展性的用户空间 TCP/IP 协议栈。
    • 4.4BSD : * nix 的协议栈是源于 4.4BSD 的。

    WEB 应用框架

    • Nginx : 一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务。
    • Lighttpd : 一款开源 Web 服务器软件,安全快速,符合行业标准,适配性强并且针对高配置环境进行了优化。
    • Libmicrohttpd : GNU 软件下的简单 c 库的 Web 服务器。API 简单,快速。
    • shttpd : 基于 Mongoose 的 Web 服务器框架。
    • CivetWeb : 提供易于使用,强大的,C/C++嵌入式 Web 服务器,带有可选的 CGI,SSL 和 Lua 支持。
    • CppCMS : 免费高性能的 Web 开发框架(不是 CMS ).
    • Crow : 一个 C++微型 web 框架(灵感来自于 Python Flask )
    • Kore : 使用 C 语言开发的用于 web 应用程序的超快速和灵活的 web 服务器 /框架。
    • libOnion : 轻量级的库,帮助你使用 C 编程语言创建 web 服务器。
    • QDjango : 使用 C++编写的,基于 Qt 库的 web 框架,试图效仿 Django API,因此得此名。
    • Wt : 开发 Web 应用的 C++库。

    标准库,算法与函数

    • C++ Standard Library : 是一系列类和函数的集合,使用核心语言编写,也是 C++ISO 自身标准的一部分。
    • Standard Template Library : 标准模板库, STL
    • ISO C++ Standards Committee : C++标准委员会

    音频库

    • FMOD : 易于使用的跨平台的音频引擎和音频内容的游戏创作工具。
    • Maximilian : C++音频和音乐数字信号处理库
    • OpenAL : 开源音频库跨平台的音频 API
    • Opus : 一个完全开放的,免版税的,高度通用的音频编解码器
    • Speex : 免费编解码器,为 Opus 所废弃
    • Tonic : C++易用和高效的音频合成
    • Vorbis : Ogg Vorbis 是一种完全开放的,非专有的,免版税的通用压缩音频格式。

    生态学

    • lisequence : 用于表示和分析群体遗传学数据的 C++库。
    • SeqAn : 专注于生物数据序列分析的算法和数据结构。
    • Vcflib : 用于解析和处理 VCF 文件的 C++库
    • Wham : 直接把联想测试应用到 BAM 文件的基因结构变异。

    压缩

    • bzip2 : 一个完全免费,免费专利和高质量的数据压缩
    • doboz : 能够快速解压缩的压缩库
    • PhysicsFS : 对各种归档提供抽象访问的库,主要用于视频游戏,设计灵感部分来自于 Quake3 的文件子系统。
    • KArchive : 用于创建,读写和操作文件档案(例如 zip 和 tar )的库,它通过 QIODevice 的一系列子类,使用 gzip 格式,提供了透明的压缩和解压缩的数据。
    • LZ4 : 非常快速的压缩算法
    • LZHAM : 无损压缩数据库,压缩比率跟 LZMA 接近,但是解压缩速度却要快得多。
    • LZMA : 7z 格式默认和通用的压缩方法。
    • LZMAT : 及其快速的实时无损数据压缩库
    • Minizip : Zlib 最新 bug 修复,支持 PKWARE 磁盘跨越,AES 加密和 IO 缓冲。
    • Snappy : 快速压缩和解压缩
    • ZLib : 非常紧凑的数据流压缩库
    • ZZIPlib : 提供 ZIP 归档的读权限。

    并发性

    • Boost.Compute : 用于 OpenCL 的 C++GPU 计算库
    • Bolt : 针对 GPU 进行优化的 C++模板库
    • C++React : 用于 C++11 的反应性编程库
    • Intel TBB : Intel 线程构件块
    • Libclsph : 基于 OpenCL 的 GPU 加速 SPH 流体仿真库
    • OpenCL : 并行编程的异构系统的开放标准
    • OpenMP : OpenMP API
    • Thrust : 类似于 C++标准模板库的并行算法库
    • HPX : 用于任何规模的并行和分布式应用程序的通用 C++运行时系统
    • VexCL : 用于 OpenCL/CUDA 的 C++向量表达式模板库。

    密码学

    • Bcrypt : 一个跨平台的文件加密工具,加密文件可以移植到所有可支持的操作系统和处理器中。
    • BeeCrypt : 快速的加密图形库,功能强大,接口方便。
    • Botan : C++加密库
    • Crypto++ : 一个有关加密方案的免费的 C++库
    • GnuPG : OpenPGP 标准的完整实现
    • GnuTLS : 实现了 SSL,TLS 和 DTLS 协议的安全通信库
    • Libgcrypt : 基于 GnuPG 的加密图形库。
    • Libmcrypt : 线程安全,提供统一的 API 。
    • LibreSSL : 免费的 SSL/TLS 协议,属于 2014 OpenSSL 的一个分支
    • LibTomCrypt : 一个非常全面的,模块化的,可移植的加密工具
    • libsodium : 基于 NaCI 的加密库,固执己见,容易使用
    • Nettle : 底层的加密库
    • OpenSSL : 一个强大的,商用的,功能齐全的,开放源代码的加密库。

    数据库

    • hiberlite : 用于 Sqlite3 的 C++对象关系映射
    • LevelDB : 快速键值存储库
    • LMDB : 符合数据库四大基本元素的嵌入键值存储
    • MySQL++ : 封装了 MySql 的 C API 的 C++ 包装器
    • RocksDB : 来自 Facebook 的嵌入键值的快速存储
    • SQLite : 一个完全嵌入式的,功能齐全的关系数据库,只有几百 KB,可以正确包含到你的项目中。
    • MongoDB : 一个基于分布式文件存储的数据库

    调试

    • Boost.Test : Boost 测试库
    • Catch : 一个很时尚的,C++原生的框架,只包含头文件,用于单元测试,测试驱动开发和行为驱动开发。
    • CppUnit : 由 JUnit 移植过来的 C++测试框架
    • GoogleTest : 谷歌 C++测试框架
    • ig-debugheap : 用于跟踪内存错误的多平台调试堆
    • MemTrack : 用于 C++跟踪内存分配
    • MicroProfile : 跨平台的网络试图分析器
    • UnitTest++ : 轻量级的 C++单元测试框架

    容器

    • C++ B-Tree : 基于 B 树数据结构,实现命令内存容器的模板库
    • Hashmaps : C++中开放寻址哈希表算法的实现

    游戏引擎

    • Cocos2d-x : 一个跨平台框架,用于构建 2D 游戏,互动图书,演示和其他图形应用程序。
    • Grit : 社区项目,用于构建一个免费的游戏引擎,实现开放的世界 3D 游戏。
    • lrrlicht : C++语言编写的开源高性能的实时#D 引擎
    • PolyCode : C++实现的用于创建游戏的开源框架(与 Lua 绑定)。

    图形库

    • bgfx : 跨平台的渲染库
    • Cairo : 支持多种输出设备的 2D 图形库
    • Horde3D : 一个小型的 3D 渲染和动画引擎
    • magnum : C++11 和 OpenGL 2D/3D 图形引擎
    • Ogre 3D : 用 C++编写的一个面向场景,实时,灵活的 3D 渲染引擎(并非游戏引擎)
    • OpenSceneGraph : 具有高性能的开源 3D 图形工具包
    • Panda3D : 用于 3D 渲染和游戏开发的框架,用 Python 和 C++编写。
    • Skia : 用于绘制文字,图形和图像的完整的 2D 图形库
    • urho3d : 跨平台的渲染和游戏引擎。

    图像处理

    • Boost.GIL : 通用图像库
    • CImg : 用于图像处理的小型开源 C++工具包
    • FreeImage : 开源库,支持现在多媒体应用所需的通用图片格式和其他格式。
    • GDCM : Grassroots DICOM 库
    • ITK : 跨平台的开源图像分析系统
    • Magick++ : ImageMagick 程序的 C++接口
    • OpenCV : 开源计算机视觉类库
    • tesseract-ocr : OCR 引擎
    • VIGRA : 用于图像分析通用 C++计算机视觉库
    • VTK : 用于 3D 计算机图形学,图像处理和可视化的开源免费软件系统。

    国际化

    • gettext : GNU gettext
    • IBM ICU : 提供 Unicode 和全球化支持的 C 、C++ 和 Java 库
    • libiconv : 用于不同字符编码之间的编码转换库

    Json 库

    • frozen : C/C++的 Jason 解析生成器
    • Jansson : 进行编解码和处理 Jason 数据的 C 语言库
    • jbson : C++14 中构建和迭代 BSON data,和 Json 文档的库
    • JeayeSON : 非常健全的 C++ JSON 库,只包含头文件
    • JSON++ : C++ JSON 解析器
    • json-parser : 用可移植的 ANSI C 编写的 JSON 解析器,占用内存非常少
    • json11 : 一个迷你的 C++11 JSON 库
    • jute : 非常简单的 C++ JSON 解析器
    • ibjson : C 语言中的 JSON 解析和打印库,很容易和任何模型集成
    • libjson : 轻量级的 JSON 库
    • PicoJSON : C++中 JSON 解析序列化,只包含头文件
    • Qt-Json : 用于 JSON 数据和 QVariant 层次间的相互解析的简单类
    • QJson : 将 JSON 数据映射到 QVariant 对象的基于 Qt 的库
    • RepidJSON : 用于 C++的快速 JSON 解析生成器,包含 SAX 和 DOM 两种风格的 API

    日志

    • Boost.Log : 设计非常模块化,并且具有扩展性
    • easyloggingpp : C++日志库,只包含单一的头文件。
    • Log4cpp : 一系列 C++类库,灵活添加日志到文件,系统日志,IDSA 和其他地方。
    • templog : 轻量级 C++库,可以添加日志到你的 C++应用程序中

    机器学习,人工智能

    • btsk : 游戏行为树启动器工具
    • Evolving Objects : 基于模板的,ANSI C++演化计算库,能够帮助你非常快速地编写出自己的随机优化算法。
    • Caffe : 快速的神经网络框架
    • CCV : 以 C 语言为核心的现代计算机视觉库
    • mlpack : 可扩展的 C++机器学习库
    • OpenCV : 开源计算机视觉库
    • Recommender : 使用协同过滤进行产品推荐 /建议的 C 语言库。
    • SHOGUN : Shogun 机器学习工具
    • sofia-ml : 用于机器学习的快速增量算法套件

    数学库

    • Armadillo : 高质量的 C++线性代数库,速度和易用性做到了很好的平衡。语法和 MatlAB 很相似
    • blaze : 高性能的 C++数学库,用于密集和稀疏算法。
    • ceres-solver : 来自谷歌的 C++库,用于建模和解决大型复杂非线性最小平方问题。
    • CGal : 高效,可靠的集合算法集合
    • CML : 用于游戏和图形的免费 C++数学库
    • Eigen : 高级 C++模板头文件库,包括线性代数,矩阵,向量操作,数值解决和其他相关的算法。
    • GMTL : 数学图形模板库是一组广泛实现基本图形的工具。
    • GMP : 用于个高精度计算的 C/C++库,处理有符号整数,有理数和浮点数。

    多媒体库

    • GStreamer : 构建媒体处理组件图形的库
    • LIVE555 Streaming Media : 使用开放标准协议(RTP/RTCP, RTSP, SIP) 的多媒体流库
    • libVLC : libVLC (VLC SDK)媒体框架
    • QtAV : 基于 Qt 和 FFmpeg 的多媒体播放框架,能够帮助你轻而易举地编写出一个播放器
    • SDL : 简单直控媒体层
    • SFML : 快速,简单的多媒体库

    物理学

    • Box2D : 2D 的游戏物理引擎。
    • Bullet : 3D 的游戏物理引擎。
    • Chipmunk : 快速,轻量级的 2D 游戏物理库
    • LiquidFun : 2D 的游戏物理引擎
    • ODE : 开放动力学引擎-开源,高性能库,模拟刚体动力学。
    • ofxBox2D : Box2D 开源框架包装器。
    • Simbody : 高性能 C++多体动力学 /物理库,模拟关节生物力学和机械系统,像车辆,机器人和人体骨骼。

    机器人学

    • MOOS-Ivp : 一组开源 C++模块,提供机器人平台的自主权,尤其是自主的海洋车辆。
    • MRPT : 移动机器人编程工具包
    • PCL : 点云库是一个独立的,大规模的开放项目,用于 2D/3D 图像和点云处理。
    • Robotics Library : 一个独立的 C++库,包括机器人动力学,运动规划和控制。
    • RobWork : 一组 C++库的集合,用于机器人系统的仿真和控制。
    • ROS : 机器人操作系统,提供了一些库和工具帮助软件开发人员创建机器人应用程序。

    脚本

    • ChaiScript : 用于 C++的易于使用的嵌入式脚本语言。
    • Lua : 用于配置文件和基本应用程序脚本的小型快速脚本引擎。
    • luacxx : 用于创建 Lua 绑定的 C++ 11 API
    • SWIG : 一个可以让你的 C++代码链接到 Javascript,Perl,PHP,Python,Tcl 和 Ruby 的包装器 /接口生成器
    • V7 : 嵌入式的 Javascript 引擎。
    • V8 : 谷歌的快速 Javascript 引擎,可以被嵌入到任何 C++应用程序中。

    序列化

    • Cap'n Proto : 快速数据交换格式和 RPC 系统。
    • cereal : C++11 序列化库
    • FlatBuffers : 内存高效的序列化库
    • MessagePack : C/C++的高效二进制序列化库,例如 JSON
    • ProtoBuf : 协议缓冲,谷歌的数据交换格式。
    • SimpleBinaryEncoding : 用于低延迟应用程序的对二进制格式的应用程序信息的编码和解码。
    • Thrift : 高效的跨语言 PC/RPC,用于 C++,Java,Python,PHP,C#和其它多种语言中,最初由 Facebook 开发。

    视频库

    • libvpx : VP8/VP9 编码解码 SDK
    • FFMpeg : 一个完整的,跨平台的解决方案,用于记录,转换视频和音频流。
    • libde265 : 开放的 h.265 视频编解码器的实现。
    • OpenH264 : 开源 H.364 编解码器。
    • Theora : 免费开源的视频压缩格式。

    XML 库

    • LibXml++ : C++的 xml 解析器
    • PugiXML : 用于 C++的,支持 XPath 的轻量级,简单快速的 XML 解析器。
    • RapidXML : 试图创建最快速的 XML 解析器,同时保持易用性,可移植性和合理的 W3C 兼容性。
    • TinyXML : 简单小型的 C++XML 解析器,可以很容易地集成到其它项目中。
    • TinyXML2 : 简单快速的 C++CML 解析器,可以很容易集成到其它项目中。
    • TinyXML++ : TinyXML 的一个全新的接口,使用了 C++的许多许多优势,模板,异常和更好的异常处理。
    • Xerces-C++ : 用可移植的 C++的子集编写的 XML 验证解析器。
    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2728 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 109ms UTC 06:31 PVG 14:31 LAX 23:31 JFK 02:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86