微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

clang-tidy:正确使用后缀运算符++

如何解决clang-tidy:正确使用后缀运算符++

我有一个自定义的前向迭代器类型。它声明(以及其他内容):

Iter& operator++();
Iter operator++(int);

clang-tidy 抱怨 cert-dcl21-cpp(Clang-Tidy: Overloaded 'operator++' 返回一个非常量对象而不是一个常量对象类型)

现在,虽然我很天真,但我将声明更改为

Iter& operator++();
Iter const operator++(int);

好吧,它现在抱怨 readability-const-return-type(返回类型 'const IndexAtomListPtr::Iter' 在顶层是 'const'-qualified,这可能会降低代码可读性而不提高 const 正确性)

我怎样才能满足 clang-tidy?

相关问题的答案:overloaded "operator++" returns a non const,and clang-tidy complains 是不够的,因为它正是我尝试过的,但得到了 readability-const-return-type 抱怨

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。