相关疑难解决方法(0)

C++ STL中const_iterator和非const迭代器之间有什么区别?

a const_iterator和an 之间的区别是什么iterator?你在哪一个使用另一个?

c++ iterator stl const

118
推荐指数
5
解决办法
8万
查看次数

重载"operator ++"返回一个非const,并且铿锵有力的抱怨

我刚从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?

c++ operator-overloading postfix-operator clang-tidy

8
推荐指数
1
解决办法
694
查看次数