如何将override关键字添加到大型C++代码库中
How can I add the override keyword to a large C++ codebase?
我有一个包含数千个源文件的大型C++代码库。我想在任何合适的地方添加override
关键字。我的一些明显被覆盖的函数实际上并没有覆盖基类中的任何函数,我想抓住这些函数,或者至少让它们脱颖而出。
我试着手动操作,但代码库太大了。我试过使用clang现代化,但没有提供有用的说明。我还担心它无法理解为Visual Studio编写的代码库。
如何在不花费人工周或更长时间的情况下将override关键字添加到我的代码库中?
似乎clang mode现代化已经进入了支持这一点的clang整洁。
示例代码(test.cpp):
struct Base {
virtual void reimplementMe(int a) {}
};
struct Derived : public Base {
virtual void reimplementMe(int a) {}
};
clang整洁调用(试运行):
clang-tidy-6.0 -checks='modernize-use-override' test.cpp -- -std=c++11
要真正修复您的代码(请确保有一个工作备份):
clang-tidy-6.0 -checks='modernize-use-override' -fix test.cpp -- -std=c++11
给予:
struct Base {
virtual void reimplementMe(int a) {}
};
struct Derived : public Base {
void reimplementMe(int a) override {}
};
注意:使用了这篇伟大文章中的示例——请查看详细的解释,并查看它的下一部分,该部分描述了如何转换一个更大的项目。
祝你好运!
相关文章:
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- C++中高效的大型稀疏块压缩线性方程
- 如何实现高效的算法来计算大型数据集的多个不同值?
- LMDB:在有限的内存系统中打开大型数据库
- 如何在大型c++项目的可视化代码中设置调试
- 仅在大型阵列上出现合并排序分段错误
- 在堆栈上C++大型多维数组
- atoi() 在应用于大型命令行参数时会产生不正确的值
- 如何在 c++ 中通过 http 发送大型视频文件?
- 将公共递归转换为尾递归,因为大型输入的堆栈溢出
- 如何将 OpenMP 和 MPI 导入到大型 CLion CMake 项目中?
- > 64k C++的 DirectX 大型机型
- 使用 RapidXML 解析大型 XML(大小大于 65 KB)文件时出现问题
- 堆分配对于大型块中的分页是否更有效?
- 适用于大型数组的无复制线程安全环形缓冲区
- 为大型数组提供堆大小的编译器
- 使用继承修复大型类
- 在 lldb 中为大型数据结构设置观察点
- 快速排序不适用于大型数组
- 如何在C++中创建大型数组(如60亿)?