温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C++实施建议有哪些

发布时间:2021-11-25 15:40:24 来源:亿速云 阅读:129 作者:iii 栏目:大数据

本篇内容主要讲解“C++实施建议有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++实施建议有哪些”吧!

In.force: Enforcement(实施建议)

对于大规模代码来说,不包含实施建议的规则是无法管理的。针对所有规则的实施建议只有在规则数量甚少,针对特定的用户群体时才可能存在。

  • But we want lots of rules, and we want rules that everybody can use.但是我们想要很多规则,并且我们希望每个人都能用的规则。

  • But different people have different needs.但是不同的人需求也不同。

  • But people don't like to read lots of rules.但是人们不喜欢理解大量规则。

  • But people can't remember many rules.但是人们不能记住大量的规则。

So, we need subsetting to meet a variety of needs.因此我们需要构造规则的子集以满足不同的需求。

  • But arbitrary subsetting leads to chaos.但是随心所欲的构造子集会导致混乱。

我们帮助很多人的指南可以使代码更加统一,并且强烈推荐人们现代化他们的代码。我们希望鼓励最佳实践,而不是把一切留给个人选择和管理压力。这个想法适用于所有规则;这会带来巨大的利益。

这些想法加起来造成非常多的困扰。我们努力使用工具解决这些问题。每条规则都有一个实施建议用来列举实施相关的想法。实施的方式可以是通过代码评审,静态分析,编译器,或者执行时检查。只要可能,我们更加推荐机械检查(人的速度很慢,不准确并且容易厌烦)和静态检查。动态检查只有在没有其他备选出口时才会被推荐,这种情况很少;我们(在实施建议中)以一组相关规则的统称(称为“概述”)为规则打标签。规则可以是多个从属于多个不同的概述,或者不属于任何概述。作为开始,我们已经有几个概述用于对应常见的需求(愿望,理想)

译者注:再次强调静态检查。

  • type: No type violations (reinterpreting a T as a U through casts, unions, or varargs)类型:没有类型违反(通过类型转换,联合或者可变参数将T重新解释为U)

  • bounds: No bounds violations (accessing beyond the range of an array)范围:没有范围违反(超出数组范围访问)

  • lifetime: No leaks (failing to delete or multiple delete) and no access to invalid objects (dereferencing nullptr, using a dangling reference).声明周期:没有泄漏(没有delete或多重delete)和访问无效对象(对空指针取值,使用野指针)

概述的目的是被工具使用,但也可以帮助人类读者。对用户那些我们知道如何实施的规则,我们不会在实施建议中吝惜我们的描述。有些解释仅仅是希望启发某些工具构建者的思考。

Tools that implement these rules shall respect the following syntax to explicitly suppress a rule:

实现这些规则的工具应该遵守下面的语法以便明确地抑制某条规则。

[[gsl::suppress(tag)]]

这里“tag”是一个项目的锚名称,这里应该出现实施建议(例如对于C.134来说是“Rh-publicc”),规则组名称(“type”,“bounds”,或者“lefttime”),或者概述中的特定规则。

译者注:抑制的含义是忽略某条规则。

到此,相信大家对“C++实施建议有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++
AI