2010-10-31 21 views
21

Continuo a vedere il riferimento sia alla libreria standard C++ che alla libreria modello standard C++ (STL). Qual'è la differenza tra loro? Wikipedia dice che condividono alcune intestazioni, ma questo è tutto.Qual è la differenza tra la libreria standard e la libreria di modelli standard?

+7

http://stackoverflow.com/tags/stl/info. La prima volta che ho visto una domanda che è un dupe di un * tag * ;-) –

+0

chi l'avrebbe thunk, modificando il tag wiki ne valeva la pena dopotutto: D – jalf

risposta

22

Standard Template Library (STL) è una libreria di contenitori, iteratori, algoritmi e oggetti funzione, creata da Alexander Stepanov; il sito web della SGI ha l'implementazione e la documentazione canoniche.

La libreria standard è la libreria che fa parte di C++; include la maggior parte della libreria di modelli standard (STL).

Nell'uso comune, "STL" viene anche utilizzato per fare riferimento alle parti della libreria standard C++ che provengono o sono derivate dall'effettivo SGI STL. Ad esempio, le persone utilizzano spesso "STL" per fare riferimento a std::vector e al resto dei contenitori nella libreria standard C++, poiché sono originati in SGI STL.

+0

Ho sempre creduto che STL fosse stato creato da Alexander Stepanov mentre lavoro in HP ... – ROAR

+0

Sì, è stato sviluppato da Stepanov e Wiki è d'accordo sulla cosa HP. Suppongo che nessuno sappia come sia finito con SGI allora? – jalf

+1

@jalf: [il sito web di Stepanov] (http://www.stepanovpapers.com/) indica che l'implementazione di SGI è stata completata da "Matt Austern con Hans Boehm (diretto da Alexander Stepanov)." Oltre a ciò, non sono riuscito a trovare altre informazioni. –

Problemi correlati