- 笨办法学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...else
和switch
- 四、循环
- 五、函数和宏
- 六、对象、类和继承
- 七、动态存储分配
- 八、演员和棋子
- 九、模板和常用容器
- 十、库存系统和提取项目
- 十一、怪物
- 十二、使用高级人工智能构建更聪明的怪物
- 十三、咒语书
- 十四、利用 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 更新
发布评论