Re:Mio – Cross-platform header-only C++11 library for memory...
by jcelerier on Saturday October 20, 2018 @04:39PM
(#18265322)
> It'll be compiled once for every Cpp file that includes it.
but are you going to mmap stuff in all your .cpps ? Most of the time when I use an external library, it does not get out of a single implementation file, so it being header only does not really make it worse
Re:Mio – Cross-platform header-only C++11 library for memory...
by paavoova on Saturday October 20, 2018 @05:02PM
(#18265453)
You still have to compile the library each time you recompile whichever source file includes it. If the library had its own source file, you would only have to compile once and link it thereafter. This adds up if you have a lot of header-only libraries in your code base, and the total LoC may very well dwarf your own codebase. This is where precompiled headers come in, but introduce their own downsides.
You are correct that I'm mostly talking about template heavy header files. There is a strong correlation between template based header files and header only libraries. The matter) latter generally means the former.