CppCoreGuidelines

CppCoreGuidelines

现代C++编程指南 助力提升代码质量与安全

CppCoreGuidelines是由C++创始人Bjarne Stroustrup主导的现代C++编程指南项目。该指南聚焦C++11及更新版本的高级主题,包括接口设计、资源管理、内存管理和并发编程。遵循指南有助于开发者编写出类型安全、无资源泄漏、逻辑严谨的高性能代码。项目不断更新,并提供Guidelines Support Library支持,为C++开发者提供了宝贵的学习和实践资源。

C++ Core Guidelines现代C++编程规范代码安全静态类型安全Github开源项目

C++ 核心指南

"C++语言中有一个更小、更简单、更安全的语言在努力呼之欲出。" -- <cite>比雅尼·斯特劳斯特鲁普</cite>

C++ 核心指南是由比雅尼·斯特劳斯特鲁普领导的一项协作努力,很像C++语言本身。它们是多个组织经过多年讨论和设计的结果。它们的设计鼓励通用性和广泛采用,但您可以自由复制和修改以满足您组织的需求。

入门

指南本身可在CppCoreGuidelines找到。该文档采用GitHub风格的Markdown格式。它被故意保持简单,主要使用ASCII,以允许自动后处理,如语言翻译和重新格式化。编辑维护了一个用于浏览的格式版本。请注意,它是手动集成的,可能比主分支的版本稍旧。

指南是一个不断演进的文档,没有严格的"发布"节奏。比雅尼·斯特劳斯特鲁普定期审查文档并递增介绍中的版本号。递增版本号的提交在git中被标记。

许多指南使用仅头文件的指南支持库。一个实现可在GSL:指南支持库找到。

背景和范围

指南的目的是帮助人们有效地使用现代C++。我们所说的"现代C++"是指C++11及更新版本。换句话说,如果您现在就可以开始,您希望5年后您的代码是什么样子?10年后呢?

指南主要关注相对较高级的问题,如接口、资源管理、内存管理和并发。这些规则影响应用程序架构和库设计。遵循这些规则将导致静态类型安全、没有资源泄漏,并且比当今常见的代码捕获更多的编程逻辑错误。而且它将运行得很快——您可以负担得起正确地做事。

我们较少关注低级问题,如命名约定和缩进风格。然而,任何能帮助程序员的主题都不会被排除在外。

我们的初始规则集强调安全性(各种形式)和简单性。它们可能太过严格。我们预计需要引入更多例外来更好地适应现实世界的需求。我们还需要更多规则。

您会发现一些规则与您的预期相反,甚至与您的经验相反。如果我们没有建议您以任何方式改变编码风格,那我们就失败了!请尝试验证或反驳规则!特别是,我们真的希望用测量或更好的例子来支持我们的一些规则。

您会发现一些规则显而易见甚至琐碎。请记住,指南的一个目的是帮助经验较少或来自不同背景或语言的人快速上手。

这些规则旨在得到分析工具的支持。违反规则将被标记,并附有相关规则的参考(或链接)。我们不期望您在尝试编写代码之前就记住所有规则。

这些规则旨在逐步引入代码库。我们计划为此构建工具,并希望其他人也会这样做。

贡献和许可证

我们非常欢迎评论和改进建议。随着我们对语言的理解的提高以及可用库集的改进,我们计划修改和扩展本文档。更多详情请参见CONTRIBUTINGLICENSE

感谢DigitalOcean托管Standard C++ Foundation网站。

编辑推荐精选

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

下拉加载更多