Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You can read some of the criticisms here https://en.m.wikipedia.org/wiki/Header-only


None of them seem relevant for a small-scale unitary project.


Even a large project like SQLite is provided as a single, unified header file!


A better resource is this:

https://github.com/nothings/stb/blob/master/docs/stb_howto.t...

There's an important difference between C++ style header-only libs, where the implementation is often done in inline code (especially for template-heavy APIs) and thus visible in each compilation unit (which is indeed bad for compile times), and "STB-style single-file libs", where the implementation is only visible in a single compilation unit.

The difference between a single .h file and a .h/.c pair is really just different packaging for distribution and integration into projects.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: