文档章节

[Github项目]C++核心指南

开源中国驻成都办事处
 开源中国驻成都办事处
发布于 2015/10/14 12:27
字数 657
阅读 372
收藏 4
点赞 0
评论 0

C++作为一门多范型的语言,有灵活性。再加上C++的一些技巧,一些坑,很多公司都有自己的C++编码规范。这些规范一般都是建议什么该用,什么不该用,怎么去命名之类。没有提纲挈领地给出一个完整的规则体系。现在有了一些进展,Bjarne Stroustrup和Herb Sutter两位大神,在Github上发起了一个名为C++核心指南(C++ Core Guidelines)的项目。项目地址:https://github.com/isocpp/CppCoreGuidelines

C++核心指南目的是帮助大家高效地使用现代Modern C++。这里的Modern C++不是《Modern C++ Design》这本书,而是指C++11和C++14(包括马上到来的C++17)。C++1x代表了C++快速发展的新时期,很多借鉴自其它语言的特性已经让C++有很大的变化。这些新特性还有待工程部门的使用验证。

C++核心指南想C++的使用规则分为两个层面:高级层面和低级层面。高级层面涉及的是接口、资源管理、并发等,高级层面的规则会影响应用的结构和库的设计。遵循高级层面的规则,能够让代码静态类型安全,没有资源泄露,能够避免大部分编码中的逻辑错误。高级层面的规则是针对人。低级层面的规则则描述地是编码细节,比如命名规则,保证初始化,这部分规则主要针对的是工具,静态检查分析工具能够检测出代码是否违背了低级规则。C++核心指南将重心放在了高级层面的规则上。

C++核心指南囊括了下面的内容:

C++核心指南提到的设计哲学:

有兴趣的可以去读一读,最好还有人能翻译成中文分享给大家。


© 著作权归作者所有

共有 人打赏支持
开源中国驻成都办事处
粉丝 84
博文 286
码字总数 335913
作品 0
成都
程序员
SWIG与JAVA 交互最全开发指南一

项目背景 最近开始研究做移动端项目,但是本人基本是做了五六年的c++的底层研发,对C++的研发可以说是驾轻就熟了,但是对于android还是属于刚入门阶段,虽然断断续续做移动端也做了一年,但是...

揽月凡尘 ⋅ 06/16 ⋅ 0

gRPC Windows编译应用

gRPC Windows编译 从github上clone出来后进行cmake的编译,参考上面的文档,需要注意的点: 必须安装所有的依赖,包括Perl,Go,YASM,Git,CMake 不要使用--recursive来递归clone,因为墙的...

水海云 ⋅ 昨天 ⋅ 0

如何自学成为C/C++程序员大牛

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界 ⋅ 05/11 ⋅ 0

WINDOWS.H already included. MFC apps must not #i

场景 在win32工程中,使用MFC,选择MFC的使用方式:在共享 DLL 中使用 MFC,在调用CString的时候,出现如下的错误: c:program files (x86)microsoft visual studio 14.0vcatlmfcincludeafxv...

fengyuzaitu ⋅ 04/13 ⋅ 0

什么是 C 和 C ++ 标准库?

简要介绍编写C/C ++应用程序的领域,标准库的作用以及它是如何在各种操作系统中实现的。 我已经接触C++一段时间了,一开始就让我感到疑惑的是其内部结构:我所使用的内核函数和类从何而来? ...

oschina ⋅ 04/10 ⋅ 0

缓存型 C++ 编译器 Zapcc 开源,号称比 Clang 更快

还记得 Zapcc 编译器吗?一个旨在减少编译时间的编译器,现在已正式开源。 Zapcc 是基于 LLVM/Clang 的 C++ 编译器,自 2015 年开始,它就一直在致力于让自己成为比 Clang 本身更快的 C++ 编...

局长 ⋅ 06/18 ⋅ 0

C语言/C++永远都不会过时的编程语言

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界 ⋅ 03/30 ⋅ 0

大神有话说之c++,还在迷茫的朋友可以来看一下

C++ 是一种中级语言,它是由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言。C++ 可运行于多种平台上,如 Window...

悟空_b201 ⋅ 05/30 ⋅ 0

Java程序员如何高效而优雅地入门C++

Java程序员如何高效而优雅地入门Cpp,由于工作需要,需要用C++写一些模块。关于C++ 的知识结构,虽说我有过快速学习很多新语言的经验,但对于C++ 我也算是老手,但也还需要心生敬畏,本文会从...

小欣妹妹 ⋅ 04/23 ⋅ 0

windows下vs2013使用C++访问redis

刚开始在windows下使用c++访问reids各种报错,经过网上到处搜方案,终于可以在windows下访问redis了, 特将注意事项记录下来: 1.获取redis Window下的开发库源码,从github获取 windows版:...

xumaojun ⋅ 04/29 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

中标麒麟(龙芯版)7.0优盘安装

########################################## 制作U盘安装盘: 1.准备U盘: PMON环境下U盘必须格式化成ext3; 昆仑固件环境下可以格式化成ext3,ext4 2.把整个镜像 xxx.iso 复制到U盘下面 3....

gugudu ⋅ 7分钟前 ⋅ 0

老司机写的大数据建模五步走

本文将尝试来梳理一下数据建模的步骤,以及每一步需要做的工作。 01 第一步:选择模型或自定义模式 这是建模的第一步,我们需要基于业务问题,来决定可以选择哪些可用的模型。 比如,如果要预...

gulf ⋅ 16分钟前 ⋅ 0

PacificA 一致性协议解读

PacificA 的 paper 在 08 年左右发出来的,比 Raft 早了 6,7 年。 在 PacificA 论文中,他们强调该算法使用范围是 LAN (Local Area Network),讲白了就是对跨机房不友好。 不管是 ZAB,Raf...

黑客画家 ⋅ 18分钟前 ⋅ 0

盘符图标个性化

设置自己的专属盘符图标 准备ico格式的图片文件一个,在根目录下创建autorun.inf文件 文件内容 [Autorun]icon=logo.ico 重新启动或者插拔U盘即可看到结果...

阿豪boy ⋅ 19分钟前 ⋅ 0

Windows下QQ聊天记录中图片的默认存放位置

Windows下QQ聊天记录中图片的默认存放位置在设置中是没有说明的。 实测位置在:D:\Documents\Tencent Files\974101467\Image 其中: “974101467”为对应的QQ号; “C2C”为个人之间的聊天图...

临江仙卜算子 ⋅ 25分钟前 ⋅ 0

GC 的三种基本实现方式

参考资料《代码的未来》(作者: [日] 松本行弘)。 由于并非本人原著(我只是个“搬运工“),SO 未经本人允许请尽情转载。 另外个人像说明一下这里所说的GC指泛指垃圾回收机制,而单指Jav...

xixingzhe ⋅ 26分钟前 ⋅ 0

Android双击退出

/** * 菜单、返回键响应 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if(keyCode......

王先森oO ⋅ 30分钟前 ⋅ 0

idea 整合 vue 启动

刚学习Vue 搭建了一个项目 只能命令启动 Idea里面不会启动 尝试了一下修改启动的配置 如下: 1.首先你要保证你的package.json没有修改过 具体原因没有看 因为我改了这个name的值 就没办法启动...

事儿爹 ⋅ 36分钟前 ⋅ 0

redis在windows环境的后台运行方法

在后台运行,首先需要安装redis服务,命令为 redis-server.exe --service-install redis.windows.conf --loglevel verbose 启动,命令为 redis-server --service-start 停止,命令为 redis-...

程序羊 ⋅ 39分钟前 ⋅ 0

比特币现金开发者提出新的交易订单规则

本周,四位比特币现金的四位开发者和研究员:Joannes Vermorel(Lokad),AmaurySéchet(比特币ABC),Shammah Chancellor(比特币ABC)和Tomas van der Wansem(Bitcrust)共同发表了一篇关...

lpy411 ⋅ 43分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部