l'intestazione <iostream>
ha un compagno <iosfwd>
che è sufficiente se solo ho bisogno di puntatori o riferimenti a flussi. Quest'ultimo è uno scenario comune in caso di sovraccarico di operator<<
.intestazioni a termine per i contenitori STL
C'è un'intestazione per i contenitori STL? Voglio definire un paio di funzioni che prendono i riferimenti ai contenitori STL, e io non voglio includere <vector>
, <list>
, <set>
et. al. nella loro interezza solo così posso avere riferimenti a quei tipi. Ci sono standard, boost o altre soluzioni a questo problema?
Il "work-around" per questo è utilizzare intestazioni precompilate per includere intestazioni costose come Boost e altre librerie di template Visual C++ ha questi, non è sicuro di altri compilatori .Se lo fai, sii prudente riguardo anche al lavoro- intestazioni in corso, o scoprirai che devi eseguire molte ricostruzioni complete frustranti: –
@up: Esatto, ha anche intestazioni precompilate, ma non sono un utente di quelle e in realtà non sono sicuro riguardo rendimento in termini di rendimento in fase di compilazione di quelli per quanto riguarda i template - da quello che ho sentito, il contenuto di un PCH con i modelli non è molto diverso dal codice sorgente stesso. :) Che suona un po 'logico. – Kos
@Kos: non è previsto che i contenuti siano diversi, ma per ridurre i tempi complessivi di costruzione non dovendo leggere e pre-elaborare i file di intestazione completi in ogni unità di compilazione che ne ha bisogno. –