C++和遮盖问题
C++ and coverity issues
MyClass* const Func(const std::string& statename)
因为这个覆盖率是给出错误
解析警告(PW.USELESS_TYPE_QUALIFIER_ON_RETURN_TYPE( 类型 返回类型的限定符毫无意义。
我们真的需要删除这里的常量吗?
警告是正确的。不需要MyClass* const
。它应该MyClass*
简单。但是,您不需要删除它,但您应该删除它。
原因是,理论上MyClass* const
会阻止编辑Func()
的返回值。但无论如何,即使没有const
,这也是不可编辑的,因为它不是一个左值。在此处查看演示。所以有/没有const
,编译器将始终生成错误,以尝试修改Func()
的返回值。
返回类型(MyClass* const
(中的const
确实是完全没有意义的。同时,除了使代码更冗长之外,它没有任何害处。我个人会删除它。
要理解为什么它毫无意义,请考虑以下事项:
MyClass* p = Func(statement);
const
有什么不同?
换句话说,返回T* const
在概念上与返回const int
没有什么不同。
您无需删除const
即可获取工作代码,但是如果没有毫无意义的const
,代码肯定会更好。这也是"错误"前面的"警告"字所说的。
相关文章:
- 警告处理为错误这里有什么问题
- 最小硬币更换问题(自上而下方法)
- 为"adjacent"变量赋值时出现问题
- 我的神经网络不起作用 [XOR 问题]
- 在Ubuntu 16.04上安装Cilk时出现问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 编译包含字符串的代码时遇到问题
- Project Euler问题4的错误解决方案
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 静态数据成员的问题-修复链接错误会导致编译器错误
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 一个关于在C++中重载布尔运算符的问题
- 首要问题的答案让值班员搞错了
- setlocale的C++土耳其字符串问题
- 如何重构类层次结构以避免菱形问题
- 基于boost的程序的静态链接——zlib问题
- C++格式化输出问题
- 使用mongocxx驱动程序时包含头文件问题