首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在类中定义const,同时遵循带有定义位置的misra

在类中定义const,同时遵循带有定义位置的misra
EN

Stack Overflow用户
提问于 2020-10-07 07:54:20
回答 1查看 105关注 0票数 0

一般来说,我会在一个类头文件中使用constexpr定义一堆变量。这在功能上是可行的。在MISRA遵从性方面,当这个类头在多个文件中使用时,它违反了规则3-2-2/3-2-4,该规则要求一个变量只能定义一次(这是C++14,从我发现的情况来看,它不能被内联,除非我将它变成一个函数)。

我怎么才能避免这个问题呢?如果我将它们移到类外部的cpp文件中,那么它们是全局作用域,而MISRA不允许全局作用域,因此只需要为var创建一个名称空间。我尝试了使用const的方法,但这不起作用,或者我可能做错了。

是不是MISRA的设计者认为我遗漏了什么?显然,在单词中有一个变量和一个描述要比在代码中有一些随机数要好。那么一定有某种方法可以让它正确工作吗?或者,在这种情况下,每个人都会忽略这种违规行为吗?

EN

回答 1

Stack Overflow用户

发布于 2020-10-08 21:24:48

MISRA的意图是该规则不应应用于常量。根据他们的论坛@ https://misra.org.uk/forum/viewtopic.php?f=188&t=1757

此规则不适用于常量,将在下一版本中加以说明

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64235310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档