Talk:C++ Standard Library

Reorganization of the articles about C++ containers
Currently there's quite a lot of mess in the articles about C++ containers. A lot of content is duplicated across articles about similar containers. Also, we have quite much material that is reference manual-like or too detailed. I think the situation could be improved by reorganization. My suggestion is that we implement the same structure as in the C++ standard:
 * Sequence containers (C++) -,  ,  ,  ,  ,
 * Associative containers (C++) -,  ,  ,
 * Unordered associative containers (C++) -,  ,  ,
 * Container adaptors (C++) -,  ,

Since each article would cover similar containers, there would be quite less content duplication. The quality of the articles would increase, since the material such as differences among containers could be covered in one place. Lastly, the WP:NOTMANUAL issue would be reduced: the function listings could be merged (I think we could have tables similar to, just not for all containers at once and maybe using different style), the functionality itself could be compared, and examples merged. Any thoughts? 1exec1 (talk) 20:01, 2 December 2011 (UTC)


 * I agree for merging all these articles as User:1exec1 proposes. Recently I had a kind of dispute concerning WP:NOTMANUAL about code in the article Queue (abstract data type), where all the code examples of queue has been removed: . Adding code - examples demonstrating a container is valuable. Having a workable example a reader can evaluate what has been reading in the article and the article is not becoming a manual. Ggia (talk) 14:03, 3 December 2011 (UTC)


 * I've merged the first batch of articles. Please see how it looks. The target page needs quite a lot of copy-editing and cleanup now, though the main ideas have been implemented. 1exec1 (talk) 00:08, 6 December 2011 (UTC)

C++ Standard Library: proper noun or not?
There's an ongoing discussion about whether C++ Standard Library is a proper noun or not. Please express your opinion. 1exec1 (talk) 17:43, 3 December 2011 (UTC)

History and versions
In this article I am missing information about the history: When was it proposed? What was the first implementations? Different years/dates for various versions? Dependency on versions of C++?

--Mortense (talk) 13:48, 12 April 2020 (UTC)


 * The history of the C++ Standard Library is, by definition, tied to the history of the C++ standard itself, and every new version of the C++ standard defines a corresponding version of the C++ Standard Library. (See C++98, C++03, C++11, C++14, C++17, and C++20 for that.)
 * The first version of the C++ standard (i.e. C++98) already contained much of Stepanov's Standard Template Library, and Jerry Schwarz's iostreams library. I seem to have mislaid my copy of Stroustrup's book "The Design and Evolution of C++", and I can't say what it has to say about the history of the "pre-standard C++ standard library", so to say. There's however a "History" section in Stroustrup's The C++ Programming Language. Quoting from section 1.4.2.1 "Language Features and Library Facilities" (a subsection of 1.4.2 "The Early Years"): Section 1.4.3 talks about the 1998 standard. Section 1.4.3.2, titled "The Standard Library" has this to say:
 * (One note: A conforming implementation of standard C++ needs to provide the functionality of the C++ Standard Library. However, strictly speaking, the C++ standard library need not be implementable in standard C++.) – Tea2min (talk) 18:01, 12 April 2020 (UTC)


 * There's two papers by Stroustrup that mention some of the history of the C++ Standard Library:
 * A History of C++: 1979-1991. Proc ACM History of Programming Languages conference (HOPL-2). ACM Sigplan Notices. Vol 28 No 3, pp 271-298. March 1993.
 * There's a section "5.3 Libraries" in that paper but not much of would become the C++ Standard Library.
 * Evolving a language in and for the real world: C++ 1991-2006. ACM HOPL-III. June 2007.
 * There's a section "4. The Standard Library: 1991-1998", with section 4.1 about the STL and section 4.2 "Other Parts of the Standard Library"
 * Perhaps these papers can be condensed into a "History" section of C++ Standard Library. – Tea2min (talk) 20:39, 12 April 2020 (UTC)

GNU C++ Library
Why it is not mentioned in the text? Is there a reason for that? What about LLVM's implementation? — Preceding unsigned comment added by 2804:431:CFFB:BFC5:528C:3C3C:A5AF:E8CE (talk) 21:48, 5 July 2020 (UTC)


 * Literally had the same question. Aren't libstdc++ (with libsup++) and libc++ (with libc++abi) the most used implementations? And MS STL? Why are they not even mentioned? Gsnxn (talk) 16:16, 11 November 2020 (UTC)

STL is just a part of standard library
I guess, STL is the algorithm and datastructure part of the standard library, typically std::vector, std::list, std::array, and the algoritmhs and iterators connecting to them. But iostream, fstream (writing to the console or into files) is not part of STL, they are the part of standard library. 84.3.83.186 (talk) 21:29, 5 August 2020 (UTC)


 * that is your guess. In my experience there are at least five different common uses of this abbreviation:
 * the library developed at HP in the 1990s, later maintained by SGI until year 2000 (STL version 3.3), and erased from the SGI's website in 2018
 * the elements of C++ standard library directly based by the interfaces from the "STL" above (std::vector, std::copy, std:bind1st)
 * the elements of C++ standard library similar in spirit (the above, plus std:array, std:reduce, std::function)
 * all templates in the C++ standard library (the above, plus std::fstream, std::atomic, std::regex)
 * all of the C++ standard library (including non-templates like std::runtime_error, std::any, std::to_chars). Microsoft in particular actively uses "STL" in this sense.
 * --Cubbi (talk) 22:21, 5 August 2020 (UTC)