Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
分布式架构
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
人工智能
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
更多话题
C++ 核心指南 - isocpp
22-03-30
banq
这是由 Bjarne Stroustrup 和 Herb Sutter 撰写,包括一组关于 C++ 编码的久经考验的指南、规则和最佳实践。
本文件是一套良好使用C++的指南。本文档的目的是帮助人们有效地使用现代C++。我们所说的 "现代C++"是指有效地使用ISO C++标准(目前是C++17,但我们几乎所有的建议也适用于C++14和C++11)。换句话说,鉴于你现在就可以开始,你希望你的代码在5年后是什么样子的?10年后呢?
这些准则集中在相对高层次的问题上,如接口、资源管理、内存管理和并发性。这样的规则会影响到应用
架构
和库的设计。遵循这些规则将导致代码是静态类型安全的,没有资源泄漏,并且比现在的代码中常见的编程逻辑错误多得多。而且,它的运行速度会很快--你可以负担得起做正确的事情。
我们不太关心低级别的问题,例如命名规则和缩进风格。然而,任何能够帮助程序员的话题都是不可能的。
我们最初的一套规则强调安全(各种形式的)和简单性。它们很可能太严格了。我们希望能引入更多的例外情况,以更好地适应现实世界的需要。我们还需要更多的规则。
你会发现有些规则与你的期望相反,甚至与你的经验相反。如果我们没有建议你以任何方式改变你的编码风格,我们就失败了 请尝试验证或反驳规则! 特别是,我们真的希望能有一些规则得到测量或更好的例子的支持。
你会发现有些规则很明显,甚至是微不足道的。请记住,准则的一个目的是帮助那些经验不足或来自不同背景或语言的人尽快掌握。
许多规则都是为了得到分析工具的支持。违反规则的行为将被标记为相关规则的参考(或链接)。我们并不期望你在尝试写代码之前记住所有的规则。对这些指南的一种思考方式是将其作为一种工具的规范,而这种规范恰好是人类可以阅读的。
目录:
简介
哲学
接口
功能
类和类层次结构
枚举:枚举
资源管理
表达式和语句
性能
CP: Concurrency and parallelism
E:错误处理
常量和不变性
T:模板和泛型编程
CPL:C 风格的编程
SF:源文件
SL:标准库
代码
开源项目
最佳实践与经验分享