a const_iterator和an 之间的区别是什么iterator?你在哪一个使用另一个?
我刚从clang-tidy得到以下警告:
overloaded "operator++" returns a non-constant object
instead of a constant object type
Run Code Online (Sandbox Code Playgroud)
https://clang.llvm.org/extra/clang-tidy/checks/cert-dcl21-cpp.html
不幸的是,他们提供的链接不起作用,https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?pageId = 88046682没有简单的方法来找到这个规则(看似DCL规则开始从50).
但无论我在标准中看到什么(对于ex 16.5.7增量和减量[over.inc]),我都没有找到postfix operator ++应该返回const的引用:
struct X {
X operator++(int); // postfix a++
};
Run Code Online (Sandbox Code Playgroud)
问题:只是铿锵过度保护,错误或为什么我要声明后缀的返回类型为const?