• 笨办法学C 中文版
    • 前言
    • 导言:C的笛卡尔之梦
    • 练习0:准备
    • 练习1:启用编译器
    • 练习2:用Make来代替Python
    • 练习3:格式化输出
    • 练习4:Valgrind 介绍
    • 练习5:一个C程序的结构
    • 练习6:变量类型
    • 练习7:更多变量和一些算术
    • 练习8:大小和数组
    • 练习9:数组和字符串
    • 练习10:字符串数组和循环
    • 练习11:While循环和布尔表达式
    • 练习12:If,Else If,Else
    • 练习13:Switch语句
    • 练习14:编写并使用函数
    • 练习15:指针,可怕的指针
    • 练习16:结构体和指向它们的指针
    • 练习17:堆和栈的内存分配
    • 练习18:函数指针
    • 练习19:一个简单的对象系统
    • 练习20:Zed的强大的调试宏
    • 练习21:高级数据类型和控制结构
    • 练习22:栈、作用域和全局
    • 练习23:认识达夫设备
    • 练习24:输入输出和文件
    • 练习25:变参函数
    • 练习26:编写第一个真正的程序
    • 练习27:创造性和防御性编程
    • 练习28:Makefile 进阶
    • 练习29:库和链接
    • 练习30:自动化测试
    • 练习31:代码调试
    • 练习32:双向链表
    • 练习33:链表算法
    • 练习34:动态数组
    • 练习35:排序和搜索
    • 练习36:更安全的字符串
    • 练习37:哈希表
    • 练习38:哈希算法
    • 练习39:字符串算法
    • 练习40:二叉搜索树
    • 练习41:将 Cachegrind 和 Callgrind 用于性能调优
    • 练习42:栈和队列
    • 练习43:一个简单的统计引擎
    • 练习44:环形缓冲区
    • 练习45:一个简单的TCP/IP客户端
    • 练习46:三叉搜索树
    • 练习47:一个快速的URL路由
    • 后记:“解构 K&R C” 已死
    • 捐赠名单
  • C++ 高级编程
    • 零、前言
    • 一、可移植的 C++ 软件剖析
    • 二、不允许鸭子——类型和推导(一)
    • 三、不允许鸭子——模板和推导(二)
    • 四、不允许泄漏——异常和资源
    • 五、关注点分离——软件架构、函数和可变模板
    • 六、哲学家的晚餐——线程和并发
    • 七、流和输入/输出
    • 八、每个人都会跌倒,这是你爬起来的方式——测试和调试
    • 九、对速度的需求——性能和优化
    • 十、附录
  • C++ 高级编程秘籍
    • 零、前言
    • 一、库的开发入门
    • 二、将异常用于错误处理
    • 三、实现移动语义
    • 四、将模板用于泛型编程
    • 五、并发和同步
    • 六、优化代码以提高性能
    • 七、调试和测试
    • 八、创建和实现您自己的容器
    • 九、探索类型擦除
    • 十、对动态分配的深入研究
    • 十一、C++ 中的常见模式
    • 十二、更仔细查看类型推导
    • 十三、奖励——使用 C++ 20 特性
  • C++ Qt5 GUI 编程
    • 零、前言
    • 一、Qt 简介
    • 二、Qt 小部件和样式表
    • 三、数据库连接
    • 四、图表
    • 五、项目视图和对话框
    • 六、整合网络内容
    • 七、地图查看器
    • 八、图形视图
    • 九、照相机模块
    • 十、即时消息
    • 十一、实现图形编辑器
    • 十二、云存储
    • 十三、多媒体查看器
    • 十四、Qt Quick 和 QML
    • 十五、跨平台开发
    • 十六、测试和调试
  • C++ 专家级编程
    • 零、前言
    • 第一部分:C++ 编程的背后
      • 一、构建 C++ 应用简介
      • 二、C++ 低级编程
      • 三、面向对象编程的细节
      • 四、理解和设计模板
      • 五、内存管理和智能指针
    • 第二部分:设计健壮高效的应用
      • 六、STL 中数据结构和算法的挖掘
      • 七、函数式编程
      • 八、并发和多线程
      • 九、设计并发数据结构
      • 十、设计全球通用的应用
      • 十一、使用设计模式设计策略游戏
      • 十二、网络和安全
      • 十三、调试和测试
      • 十四、使用 Qt 的图形用户界面
    • 第三部分:人工智能世界中的 C++
      • 十五、C++ 在机器学习任务中的应用
      • 十六、实现基于对话的搜索引擎
    • 十七、答案
  • C++ 游戏动画编程实用指南
    • 零、前言
    • 一、创建游戏窗口
    • 二、实现向量
    • 三、实现矩阵
    • 四、实现四元数
    • 五、实现转换
    • 六、构建抽象渲染器
    • 七、探索 glTF 文件格式
    • 八、创建曲线、帧和轨迹
    • 九、实现动画剪辑
    • 十、网格蒙皮
    • 十一、优化动画流水线
    • 十二、动画之间的融合
    • 十三、实现逆运动学
    • 十四、使用对偶四元数蒙皮
    • 十五、使用实例渲染人群
  • C++ 函数式编程实用指南
    • 零、前言
    • 第一部分:C++ 中的函数组件
      • 一、函数式编程导论
      • 二、理解纯函数
      • 三、深入 lambdas
      • 四、函数组合思想
      • 五、局部应用与柯里化
    • 第二部分:函数设计
      • 六、函数思维——从数据输入到数据输出
      • 七、通过函数操作消除重复
      • 八、使用类提高内聚性
      • 九、面向函数式编程的测试驱动开发
    • 第三部分:收获函数式编程的好处
      • 十、性能优化
      • 十一、基于属性的测试
      • 十二、重构到纯函数和通过纯函数重构
      • 十三、不变性和架构——事件源
    • 第四部分:C++ 函数式编程的现状和未来
      • 十四、使用范围库的延迟求值
      • 十五、STL 支持和建议
      • 十六、标准语言支持和建议
    • 十七、答案
  • C++ 机器学习实用指南
    • 零、前言
    • 第一部分:机器学习概述
      • 一、C++ 机器学习导论
      • 二、数据处理
      • 三、衡量表现和选择模型
    • 第二部分:机器学习算法
      • 四、聚类
      • 五、异常检测
      • 六、降维
      • 七、分类
      • 八、推荐系统
      • 九、集成学习
    • 第三部分:高级示例
      • 十、用于图像分类的神经网络
      • 十一、基于循环神经网络的情感分析
    • 第四部分:生产和部署挑战
      • 十二、导出和导入模型
      • 十三、在移动和云平台上部署模型
  • 通过使用 UE4 构建游戏学习 C++
    • 零、前言
    • 一、C++ 17 入门
    • 二、变量和内存
    • 三、if...elseswitch
    • 四、循环
    • 五、函数和宏
    • 六、对象、类和继承
    • 七、动态存储分配
    • 八、演员和棋子
    • 九、模板和常用容器
    • 十、库存系统和提取项目
    • 十一、怪物
    • 十二、使用高级人工智能构建更聪明的怪物
    • 十三、咒语书
    • 十四、利用 UMG 和音频改善用户界面反馈
    • 十五、虚拟现实及其他
  • 精通 C++ 游戏开发
    • 零、前言
    • 一、面向游戏开发的 C++ 语言
    • 二、理解库
    • 三、夯实基础
    • 四、构建素材管道
    • 五、构建游戏系统
    • 六、创建图形用户界面
    • 七、高级渲染
    • 八、高级游戏系统
    • 九、人工智能
    • 十、多个玩家
    • 十一、虚拟现实
  • 精通 C++ 编程
    • 零、前言
    • 一、C++ 17 特性
    • 二、标准模板库
    • 三、模板编程
    • 四、智能指针
    • 五、使用 C++ 开发图形用户界面应用
    • 六、多线程编程和进程间通信
    • 七、测试驱动开发
    • 八、行为驱动开发
    • 九、调试技术
    • 十、代码异味和整洁的代码实践
  • Qt5 C++ GUI 编程秘籍
    • 零、前言
    • 一、将 Qt 设计器用于外观定制
    • 二、事件处理——信号和插槽
    • 三、Qt 和 QML 的状态和动画
    • 四、画家与 2D 图形
    • 五、OpenGL 实现
    • 六、使用网络和管理大型文档
    • 七、线程基础——异步编程
    • 八、使用 Qt5 构建触摸屏应用
    • 九、XML 解析的简化
    • 十、转换库
    • 十一、使用 SQL 驱动和 Qt 访问数据库
    • 十二、使用 Qt 网络引擎开发网络应用
    • 十三、性能优化
  • Qt Creator 应用开发
    • 零、前言
    • 第一部分:基础知识
      • 一、Qt Creator 入门
      • 二、使用 Qt Creator 构建应用
      • 三、使用 Qt Designer 设计应用
      • 四、Qt 基础
      • 五、使用 Qt 小部件开发应用
    • 第二部分:高级功能
      • 六、使用 Qt 绘图
      • 七、使用 Qt Quick 实现更多功能
      • 八、使用 Qt Quick 实现多媒体
      • 九、传感器和 Qt Quick
    • 第三部分:实际事项
      • 十、使用 Qt 语言学家本地化您的应用
      • 十一、使用 Qt Creator 优化性能
      • 十二、使用 Qt Creator 开发移动应用
      • 十三、使用 Qt Creator 开发嵌入式和物联网
      • 十四、QT 提示和技巧
  • C++ 编程入门手册
    • 零、前言
    • 一、从 C++ 开始
    • 二、了解语言特性
    • 三、探索 C++ 类型
    • 四、使用内存、数组和指针
    • 五、使用函数
    • 六、类
    • 七、面向对象编程导论
    • 八、使用标准库容器
    • 九、使用字符串
    • 十、诊断和调试
  • 现代 C++ 嵌入式编程秘籍
    • 零、前言
    • 一、嵌入式系统基础
    • 二、设置环境
    • 三、使用不同的架构
    • 四、处理中断
    • 五、调试、日志记录和性能分析
    • 六、内存管理
    • 七、多线程和同步
    • 八、通信和序列化
    • 九、外部设备
    • 十、降低功耗
    • 十一、时间点和间隔
    • 十二、错误处理和容错
    • 十三、实时系统指南
    • 十四、安全关键系统指南
    • 十五、微控制器编程
  • C++ 专家级编程
    • 零、新的 C++ 17 特性
    • 一、容器
    • 二、迭代器
    • 三、lambda 表达式
    • 四、STL 算法基础
    • 五、STL 算法的高级使用
    • 六、字符串、流类和正则表达式
    • 七、工具类
    • 八、并行性和并发性
    • 九、文件系统
  • UE 游戏开发项目
    • 零、前言
    • 一、虚幻引擎介绍
    • 二、使用虚幻引擎
    • 三、角色类组件和蓝图设置
    • 四、玩家输入
    • 五、线条痕迹
    • 六、碰撞物体
    • 八、用户界面
    • 九、视听元素
    • 十、创建SuperSideScroller游戏
    • 十一、混合空间 1D、按键绑定和状态机
    • 十二、动画混合和蒙太奇
    • 十三、敌方人工智能
    • 十四、产生玩家投射物
    • 十五、收藏品、加强和拾取
    • 十六、多人游戏基础
    • 十七、远程过程调用
    • 十八、多人游戏中的游戏框架类
  • CUDA 编程学习手册
    • 零、前言
    • 一、CUDA 编程入门
    • 二、内存管理
    • 三、线程编程
    • 四、内核执行模型及优化策略
    • 五、应用分析和调试
    • 六、可扩展的多图形处理器编程
    • 七、CUDA 中的并行编程模式
    • 八、使用库和其他语言编程
    • 八、将 OpenACC 用于图形处理器编程
    • 九、利用 CUDA 实现深度学习加速
    • 十一、附录
  • WebAssembly 学习手册
    • 零、前言
    • 一、什么是 WebAssembly?
    • 二、WebAssembly 的元素——Wat、Wasm 和 JavaScript 应用编程接口
    • 三、建立开发环境
    • 四、安装所需的依赖项
    • 五、创建和加载 WebAssembly 模块
    • 六、与 JavaScript 交互和调试
    • 七、从头开始创建应用
    • 八、使用电子脚本移植游戏
    • 九、与 Node.js 集成
    • 十、高级工具和即将推出的功能
  • 精通 C++ 多线程
    • 零、前言
    • 一、重温多线程
    • 二、处理器和操作系统上的多线程实现
    • 三、C++ 多线程应用编程接口
    • 四、线程同步和通信
    • 五、本机 C++ 线程和原语
    • 六、调试多线程代码
    • 七、最佳实践
    • 八、原子操作——使用硬件
    • 九、分布式计算中的多线程
    • 十、图形处理器多线程
  • 现代 C++ 编程
    • 零、前言
    • 一、理解语言特性
    • 二、使用内存、数组和指针
    • 三、使用函数
    • 四、类
    • 五、使用标准库容器
    • 六、使用字符串
    • 七、诊断和调试
    • 八、学习现代核心语言特性
    • 九、使用数字和字符串
    • 十、探索函数
    • 十一、标准库容器、算法和迭代器
    • 十二、数学问题
    • 十三、语言特性
    • 十四、字符串和正则表达式
    • 十五、流和文件系统
    • 十六、日期和时间
    • 十七、算法和数据结构
  • 现代 C++ 的挑战
    • 零、前言
    • 一、数学问题
    • 二、语言特性
    • 三、字符串和正则表达式
    • 四、流和文件系统
    • 五、日期和时间
    • 六、算法和数据结构
    • 七、并发
    • 八、设计模式
    • 九、数据序列化
    • 十、归档、图像和数据库
    • 十一、密码系统
    • 十二、网络和服务
    • 十三、参考文献
  • C++ 游戏编程入门手册
    • 零、序言
    • 一、C++,SFML,VisualStudio,并开始第一个游戏
    • 二、变量、运算符和决策——设置精灵动画
    • 三、C++ 字符串和 SFML 时间——玩家输入和 HUD
    • 四、循环、数组、switch、枚举和函数——实现游戏机制
    • 五、碰撞、声音和结束条件——使游戏可玩
    • 六、面向对象编程——启动乒乓球游戏
    • 七、动态碰撞检测与物理——完成乒乓球游戏
    • 八、SFML 视图——开始僵尸射击游戏
    • 九、C++ 引用、精灵列表和顶点数组
    • 十、指针、标准模板库、纹理管理
    • 十一、碰撞检测,拾音器和子弹
    • 十二、视图分层与 HUD 实现
    • 十三、音效,文件 I/O,完成游戏
    • 十四、抽象和代码管理——更好地利用面向对象
    • 十五、高级 OOP——继承与多态
    • 十六、建造可玩关卡和碰撞检测
    • 十七、声音空间化和平视显示器
    • 十八、粒子系统和着色器
    • 十九、游戏编程设计模式——启动太空入侵者 ++ 游戏
    • 二十、游戏对象和组件
    • 二十一、文件输入输出和游戏对象工厂
    • 二十二、使用游戏对象和构建游戏
    • 二十三、结束之前
  • Boost.Asio C++ 网络编程入门中文第二版
    • 零、前言
    • 一、使用 C++ 简化您的网络编程
    • 二、理解网络概念
    • 三、Boost C++ 库简介
    • 四、Boost.Asio 入门
    • 五、深入研究 Boost.Asio 库
    • 六、创建客户端——服务器应用
    • 七、调试代码并解决错误
  • Boost C++ 应用开发秘籍
    • 零、前言
    • 一、开始编写应用
    • 二、管理资源
    • 三、类型转换
    • 四、编译时技巧
    • 五、多线程操作
    • 六、操作任务
    • 七、操纵字符串
    • 八、元编程
    • 九、容器
    • 十、收集平台和编译器信息
    • 十一、使用系统
    • 十二、Boost 的冰山一角
  • C++ 数据结构和算法设计原则
    • 零、前言
    • 一、列表、栈和队列
    • 二、树、堆和图
    • 三、哈希表和布隆过滤器
    • 四、分治法
    • 五、贪婪算法
    • 六、图算法 1
    • 七、图算法 2
    • 八、动态规划一
    • 九、动态规划二
    • 十、附录
  • C++ 高性能编程
    • 零、前言
    • 一、C++ 简介
    • 二、基本的 C++ 技术
    • 三、分析和测量性能
    • 四、数据结构
    • 五、算法
    • 六、范围和视图
    • 七、内存管理
    • 八、编译时编程
    • 九、基本工具
    • 十、代理对象和延迟求值
    • 十一、并发
    • 十二、协程和延迟生成器
    • 十三、使用协程的异步编程
    • 十四、并行算法
  • C++ 反应式编程
    • 零、前言
    • 一、反应式编程模型——概述和历史
    • 二、现代 C++ 及其关键习语概述
    • 三、C++ 中的语言级并发和并行
    • 四、C++ 中的异步和无锁编程
    • 五、可观察对象介绍
    • 六、C++ 事件流编程简介
    • 七、数据流计算和 RxCpp 库简介
    • 八、关键要素
    • 九、Qt/C++ 反应式图形用户界面编程
    • 十、C++ 反应式编程的设计模式和习惯用法
    • 十一、使用 C++ 的反应式微服务
    • 十二、高级流和错误处理
  • C++ 系统编程秘籍
    • 零、前言
    • 一、系统编程入门
    • 二、重温 C++
    • 三、处理进程和线程
    • 四、深入探讨内存管理
    • 五、使用互斥、信号量和条件变量
    • 六、管道、先进先出、消息队列和共享内存
    • 七、网络编程
    • 八、处理控制台输入/输出和文件
    • 九、处理时间接口
    • 十、管理信号
    • 十一、调度编排
  • C++ 工作室
    • 零、前言
    • 一、您的第一个 C++ 应用
    • 二、控制流
    • 三、内置数据类型
    • 四、运算符
    • 五、指针和引用
    • 六、动态变量
    • 七、动态变量的所有权和寿命
    • 八、类和结构
    • 九、面向对象原则
    • 十、高级面向对象原则
    • 十一、模板
    • 十二、容器和迭代器
    • 十三、C++ 中的异常处理
    • 十四、附录
  • WebAssembly 游戏编程实用指南
    • 零、前言
    • 一、WebAssembly 和电子脚本简介
    • 二、HTML5 和 WebAssembly
    • 三、WebGL 简介
    • 四、WebAssembly 中使用 SDL 的的精灵动画
    • 五、键盘输入
    • 六、游戏对象和游戏循环
    • 七、碰撞检测
    • 八、基本粒子系统
    • 九、改进的粒子系统
    • 十、人工智能与驾驶行为
    • 十一、设计 2D 相机
    • 十二、声音 FX
    • 十三、游戏物理
    • 十四、用户界面和鼠标输入
    • 十五、着色器和 2D 照明
    • 十六、调试和优化
  • C++ 函数式编程学习手册
    • 零、前言
    • 一、深入现代 C++
    • 二、函数式编程中的函数操作
    • 三、将不可变状态应用于函数
    • 四、使用递归算法重复方法调用
    • 五、使用延迟求值拖延执行过程
    • 六、使用元编程优化代码
    • 七、使用并发运行并行执行
    • 八、使用函数方法创建和调试应用
  • Qt5 学习手册
    • 零、前言
    • 一、你好,Qt
    • 二、项目结构
    • 三、用户界面
    • 四、样式
    • 五、数据
    • 六、单元测试
    • 七、SQLite
    • 八、网络请求
    • 九、打包

下载

Docker

docker pull apachecn0/apachecn-c-cpp-zh
docker run -tid -p <port>:80 apachecn0/apachecn-c-cpp-zh
# 访问 http://localhost:{port} 


PYPI

pip install apachecn-c-cpp-zh
apachecn-c-cpp-zh <port>
# 访问 http://localhost:{port} 


NPM

npm install -g apachecn-c-cpp-zh
apachecn-c-cpp-zh <port>
# 访问 http://localhost:{port} 


贡献指南

本项目需要校对,欢迎大家提交 Pull Request。

请您勇敢地去翻译和改进翻译。虽然我们追求卓越,但我们并不要求您做到十全十美,因此请不要担心因为翻译上犯错——在大部分情况下,我们的服务器已经记录所有的翻译,因此您不必担心会因为您的失误遭到无法挽回的破坏。(改编自维基百科)

组织介绍

访问我们的主页。

赞助我们

通过平台自带的打赏功能,或点击这里。

更多推荐

ApacheCN C/C++ 译文集 20211201 更新