In aggiunta alle buone ragioni che Robson e AshleysBrain hanno già fornito, una ragione per cui le implementazioni di libreria standard C++ hanno nomi così concisi e codice compatto è che praticamente ogni programma C++ (unità di compilazione, in realtà) include un gran numero di standard le intestazioni delle librerie e vengono quindi ricompilate più volte (ricordate che sono in gran parte incorporate e basate su modelli, mentre le intestazioni di libreria C standard contengono solo una manciata di dichiarazioni di funzioni). Una libreria standard scritta secondo le linee guida di stile "standard del settore" richiederebbe più tempo per essere compilata e quindi condurre alla percezione che un particolare compilatore fosse "lento". Riducendo al minimo gli spazi bianchi e utilizzando nomi di identificatori brevi, lesser e parser hanno meno lavoro da fare e l'intero processo di compilazione si conclude un po 'più velocemente.
Un'altra ragione degna di nota è che molte implementazioni di librerie standard (ad esempio Dinkumware, Rogue Wave (vecchio), ecc.) Possono essere utilizzate con diversi compilatori con conformità agli standard e peculiarità ampiamente differenti. Spesso c'è un sacco di hackeraggio macro mirato a soddisfare ogni piattaforma supportata.
fonte
2010-11-15 02:27:30
A quale implementazione di STL si riferisce? – morechilli
E perché ti preoccupi dei dettagli di implementazione? –
Alcune implementazioni STL vengono deliberatamente scritte per essere concise. Il modo in cui il codice è scritto è qualcosa che non rientra nello scopo dello standard: il fatto che la tua implementazione sia conforme agli standard è tutta l'informazione di cui avresti bisogno nella maggior parte delle circostanze. –