1

Recently I have read an article that saying STL was developed by Alexander Stepanov prior to standardize the C++ and, It was a library at that time, like boost is nowadays. So few questions came in to my mind.

  1. Can we download and use STL same like boost nowadays
  2. Did STL included in to C++ standard? If that
    • What are things of STL, not included to stdlib,
    • What are the thing not from STL, but in stdlib
  3. Did STL disappeared after C++ standardize
  4. Can we say "There is no STL,But only Standard Library in C++"
enhzflep
  • 12,927
  • 2
  • 32
  • 51
Nayana Adassuriya
  • 23,596
  • 30
  • 104
  • 147
  • 2
    #4. The term STL has no formal meaning anymore. It's a historical term to refer to the library that greatly influenced the C++ standard library. – Adam Oct 10 '14 at 04:55
  • stdlib is the C standard library. In C++ the headers are located in cstdlib. – user2672165 Oct 10 '14 at 04:59
  • 2
    [This](http://stackoverflow.com/a/5205571/1410711)!!!!!! – Recker Oct 10 '14 at 05:00
  • 1
    The STL was accepted in the standard library (with minor changes) and those parts of the standard library are still referred to as the STL by practically everybody (Straustrup, Mayer etc...). In my view just because it was submitted to the standards process it didn't stop being the STL although the standards themselves never refer to it as such. – Galik Oct 10 '14 at 05:02

1 Answers1

1
  1. yes - you can get it from SGI here, though god only knows if it'll compile on the latest compilers, or a more recently maintained version called STLport here

  2. there are differences, for example the SGI STL has a bit_vector, though whether that was introduced before or after versions of most of the STL elements were Standardised I can't remember; while the Standard library includes the whole iostreams facility which was never part of the STL

  3. obviously not, though after the available compiler-shipped implementations of the Standard got increasingly reliable there's been no reason to pick up a non-Standard version for new development; some old code doubtless still uses the STL (and lots of other similar non-Standard libraries)

  4. as much as you can say "there's no boost in C++"... it's not part of the Standard

"But only Stranded Library in C++" - was that intentional? ;-)

Tony Delroy
  • 102,968
  • 15
  • 177
  • 252
  • GCC's libstdc++ uses SGI's STL significantly. It'd be strange for it *not* to compile. – Rapptz Oct 10 '14 at 05:11
  • @Rapptz: from the GCC FAQ: "The STL from SGI, version 3.3, was the final merge of the STL codebase. The code in libstdc++ contains many fixes and changes, and the SGI code is no longer under active development. We expect that no future merges will take place." Last SGI STL release was 14 years ago. STLport's probably a better bet for someone wanting an STL implementation to use now, even though it's a defunct project too, as of ~4 years ago. – Tony Delroy Oct 10 '14 at 05:19
  • I still don't see how code written in standard C++ wouldn't compile today (the latest versions of SGI STL are post 1998 and influenced template behaviour etc). – Rapptz Oct 10 '14 at 05:22
  • 1
    @Rapptz: lots of possible reasons, such as broken `#ifdef` based on preprocessor symbols the later compilers don't set similarly, or buggy old compilers that forced the use of hackery or implementation defined behaviour that's now broken or changed. I'm not saying it'd be a difficult job to fix, but I wouldn't bet anything on it working first time. – Tony Delroy Oct 10 '14 at 05:29