自动化C++标头/源分离的工具

Hin*_*ton 6 c++ interface header

我觉得非常累人,每当我开发一个C++类时,我必须在两个地方更新代码.在开发过程中,它发生了100次以上(至少对于每个私有方法),我更改了方法的声明,在const这里或那里添加,删除&引用等等.我真的很讨厌我每次做一点改变时都要打开第二个文件(头文件),并且我已经看到自己试图避免在开发过程中进行私有接口更改,因为我想避免这种情况痛.(你可能认为我很懒.我是,但这也是一种真正的痛苦,阻止我尽可能高效.)

通常,我的所有声明都在标题中,所有定义都在源代码中.我不关心内联或聪明的小优化技巧.我喜欢很多关于C++的东西,但是如果重构和开发接口和Java一样简单,我会更喜欢它.

有没有处理这种情况的提示?

ISa*_*ych 1

您可以查看LZZ,它从单个 .lzz 文件生成头文件和源文件。使用它的缺点是它并不总是能与 IDE 很好地配合。例如,在我使用 Visual Studio + Visual Assist 的情况下 - 您可以设置语法突出显示,调试也可以正常工作并在 lzz 源中行走(但您无法在生成的 .h/.cpp 文件中行走或设置断点),但是当当您寻找声明时,您经常会在 .h 文件而不是 .lzz 中找到它。我个人更喜欢没有 lzz 的生活,并使用 IDE 进行重构以及声明和定义之间的快速跳转,但有些人不想等待 c++14 模块并使用 lzz。