cppcheck在const std::string[]上引发警告
cppcheck throws warning on const std::string[]
我正在努力处理cppcheck
(Linux机器上的1.85版本(正在报告的警告:
someFile.h:23:29:warning:冗余代码:找到一个以字符串常量开头的语句。constStatement]
conststd::string OffOn[]={"off","on"}
^
我做了一些研究,发现将语句更改为
const std::string OffOn[]= {std::string("off"), std::string("on")};
删除警告。然而,我不明白发生了什么,也不明白我的第一个解决方案有什么"糟糕"之处。也许有人能向我解释一下?或者给我一些提示!
建议您使用braced-init-list
初始化,如:const std::string OffOn[]{"off", "on"};
,因此=
是不必要的。
相关文章:
- 警告处理为错误这里有什么问题
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- cppcheck在const std::string[]上引发警告
- GCC对可能有效的代码抛出init list生存期警告
- 如何在BST的这个简单递归实现中消除警告
- 将std::string传递给WriteConsole API
- 关于std::move的使用,是否有编译警告
- g++ 在某个类成员未初始化时不发出警告
- 为std::string的某个索引赋值
- std中有类似find_last_of的函数,而string中没有
- 如何处理来自核心指南检查器的关于gsl::at的静态分析警告
- 使用 std::string () const 函数启动线程或未来
- 与 string.size() 比较时 int 的符号性显示警告
- q致命参数:将 QString 转换为常量字符* 会导致警告"format string is not a string literal"
- 在 MSVC 上,为什么没有出现 std::string 的警告"unreferenced formal parameter"?
- 为什么构造 std::string(0) 不会发出编译器警告
- FlexeLint/PC lint警告说,不考虑std::string::append的返回值
- 使用华大基因时"Deprecated conversion from string constant to 'char*'"警告?
- 在多线程环境中使用 std::string 时 Clang 的线程清理器警告
- std::string在Visual Studio 2010中给出编译器警告