3

I fail to infer the exact point of historical introduction of STL into actual C++ standard library from the wikipedia article: https://en.wikipedia.org/wiki/Standard_Template_Library

It appears to me that C++11 was somehow significant for this STL, as it was becoming a part of C++ Standard Library. But I find another publication much earlier in 2000 itself: http://dl.acm.org/citation.cfm?id=557814

Deduplicator
  • 8,591
  • 5
  • 31
  • 50
  • 4
    Very relevant post from SO: http://stackoverflow.com/questions/5205491/whats-the-difference-between-stl-and-c-standard-library. – R Sahu May 12 '17 at 07:09

1 Answers1

6

From your link- ideas from the STL were incorporated into the draft standard around 1994. The first C++ standard was released in 1998. So in a sense "the STL" has always been part of standard C++.

With a looser definition of "standard C++". Using Stroustrup's "The C++ Programming Language". 2e (1991) did not incorporate the STL, 3e (1997) did.

Nick Keighley
  • 754
  • 4
  • 7
  • The Annotated C++ Reference Manual ("the ARM") was 1990 and also didn't include the STL. The ARM was the de-facto standard for many years, – Nick Keighley May 12 '17 at 09:28
  • C++'s been around for a while. Why did they wait until 1998 to standardize it? – Panzercrisis May 12 '17 at 13:50
  • 4
    @Panzercrisis: They started forming a committee to standardize it in 1990, shortly after multiple C++ compilers started to become available (e.g., Turbo C++ 1.0 was released in 1990). Zortech C++ 1.0 had been out for a bit over a year by then, but hadn't gained a whole lot of market share. Most (I believe all, actually) of the others up until then had just been ports of Cfront, so it (and Bjarne's most recent book) set the standard. – Jerry Coffin May 12 '17 at 14:05
  • 2
    @Panzercrisis: "*C++'s been around for a while. Why did they wait until 1998 to standardize it?*" Because C++'s had been around for a while. It takes time to synthesize all of those random ideas together into a moderately coherent whole. To build a formal memory model that is internally consistent. To decide which features to take from which versions and which ones to modify or discard. And to do all of this while all of those implementations are constantly *changing*. – Nicol Bolas May 12 '17 at 16:48