4

我目前正在开发一个建立在沙子基础上的代码库。

据称经过测试的库中有许多违反“3 规则”的类。大多数声明了一个重要的析构函数,但缺少复制构造函数或赋值运算符。

是否有任何编译器标志 (gcc) 或静态分析工具会在类违反规则 3 时发出警告?

目前我们正在使用 GCC 版本 4.4 的 Coverity。

4

2 回答 2

0

覆盖率有。我们使用 6.5 版本。有一个检查器 MISSING_COPY_OR_ASSIGN。

于 2013-05-24T04:43:10.743 回答
0

Parasoft(商业工具)的 C++test 有一条规则(MRM-40),涵盖“一致地复制和销毁”,看起来对您有帮助。基本上它说如果您定义了任何复制构造函数、复制赋值运算符或析构函数,您可能需要定义其他一个或两个。

更多信息请访问http://www.parasoft.com/jsp/products/cpptest.jsp

于 2013-05-08T20:03:04.487 回答