On 28 November 2012 20:16, Toon Moene wrote: > On 11/28/2012 02:53 PM, Diego Novillo wrote: > > Is it permissable to ask a meta-question here ? > > What's so horrible about the definition of header files that something like > this is necessary ? > > In Fortran we have modules. Certainly, the efficient processing of these > files is important. To us, that's our - internal - problem. How can it be > that a wart on a C++ problem gets so much air time ?
The simple textual inclusion model of C++ headers has a number of problems, including excessive build times to recompile code multiple times then for the linker to discard it again, interference between user-defined macros and library names, poor separation of interface and implementation (private members must be declared in a class and parsed as part of any user code including the class definition despite being inaccessible to those users.) There are ways to mitigate these problems, but they add extra work. See Section 4 of Vandevoorde's N3347 proposal for more information.