【发布时间】:2019-09-19 00:10:29
【问题描述】:
特别是,我正在使用 Qt;我们的代码库仍然充斥着旧的foreach 宏,例如foreach (T foo, bar) { ... }。我想把它变成for (T foo : bar) { ... }。有没有办法编写一个整洁的规则来做到这一点?
【问题讨论】:
标签: c++ qt clang-tidy
特别是,我正在使用 Qt;我们的代码库仍然充斥着旧的foreach 宏,例如foreach (T foo, bar) { ... }。我想把它变成for (T foo : bar) { ... }。有没有办法编写一个整洁的规则来做到这一点?
【问题讨论】:
标签: c++ qt clang-tidy
是的,这绝对是可能的。 Clang-tidy 是开源的,所以没有什么能阻止您修改代码或编写自己的检查。
modernize-loop-convert 检查与您的用例非常相似,因此它可能是一个好的开始。 (source)
Clang-tidy 甚至还有官方documentation on writing new checks。
【讨论】: