Talk:C++ Standard Library/Archive 1

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
Archive 1

TR1

This article should talk about the next generation of the C++ standard library - i.e. TR1. Anyone up for it? Pcb21 Pete 22:31, 10 December 2005 (UTC)

I'm going to have a go at it in the near future if no-one else steps forward. I also think this whole page needs a ground-up rewrite, just listing headers isn't helping anyone. Mrjeff 11:05, 27 February 2006 (UTC)

Wrong name?

Would not most of what is mentioned here be classed as a part of the STL? While the STL is a part of the standard, it is still called the C++ Standard Template Library OwenS | T | C | 15:38, 18 June 2006 (UTC)

From the article: The algorithms and containers in the C++ Standard library are based on the STL and therefore the two terms are often used interchangeably. --ozzmosis 15:57, 18 June 2006 (UTC)
It should be noted that although the terms are used interchangeably, "STL" in this context is still just a shorthand convention, based on the history of the ideas in the library. To suggest that the name "C++ Standard Library" is wrong and that "STL" is right, is strictly backwards. 195.166.158.227 (talk) 19:54, 19 February 2011 (UTC)
Absolutely not, OwenS. Strictly speaking "the STL" is *not* a part of the standard at all. The common usage "STL" to refer to the C++ Standard Library (or parts thereof) is erroneous. It's accepted in the colloquial but, as the previous commenter says, if *anything* is the wrong name then it is "the STL". The "Standard" in "C++ Standard Template Library" is **not** related to the actual ISO C++ Standard... which came later. Tomalak Geret'kal (talk) 22:30, 4 July 2011 (UTC)

Deprecated libraries

It might be mentioned that some libraries have fallen out of standard use, especially the C ones when writing C++. I know the g++ compiler waves the warning flags if it sees an old C library in there, especially for something like stdio.h, but it's allowed. I'm a novice programmer, though, so I may very well have my facts wrong. 129.61.46.16 12:29, 23 June 2006 (UTC)

I can't reproduce this using g++ myself, could you provide an example? What is deprecated is pre-standard library C++ header files, but I don't think any C ones are. Mrjeff 18:52, 23 June 2006 (UTC)
That's my mistake, then. I must have been thinking of the warnings that g++ produces when you try to put a .h at the end of some of the headers. If you put a .h at the end of iostream, the "hello world" program will work after a compiler warning, but if you remove the .h, you have to mention that you're using the standard namespace or g++ won't recognize cout and endl. The strange behavior of c++ compilers (or maybe the specific g++ release I'm using) belongs elsewhere, though. Just a note, I'm posting this from a different computer, so expect a different IP... yeah, I know, I should get a Wikipedia account. Until then, you'll just have to trust my word that I'm the same person. 68.228.27.186 00:19, 30 June 2006 (UTC)
Using <stdlib.h> is deprecated; use <cstdlib>. Including <stdlib.h> effectively does the same thing as #include <cstdlib> and using namespace std; together. In many cases, especially in header files, this is a very bad idea! Figs 21:26, 4 March 2007 (UTC)

Headers

I don't think separate articles for each of the standard headers is appropriate content for Wikipedia. Wikipedia is not a C++ reference manual (and I'm saying that as a full-time C++ programmer in my day job). This issue has come up here and here. I will start merging content from some of these pages to the expanded section in this article. Jfire (talk) 03:15, 14 January 2008 (UTC)

What does "std" stand for?

I havn't found an answer just what the three letters "std" of the standard C(++) library stand for. Anyone know? Seems like a good article should say so. :-)

Regards, Mark —Preceding unsigned comment added by 80.238.205.47 (talk) 19:15, 22 August 2008 (UTC)

I have heard it is an abbreviation for Standard Template Definition, but that was in a programming class a few years ago; I have no source of evidence that is what it means and google the phrase in quotes returned no results so I am not confident enough that is the case to edit the article. —Preceding unsigned comment added by 68.91.150.76 (talk) 05:58, 2 October 2008 (UTC)

I′m almost certain it stands only for standard, cf. “cstdlib” (a.k.a. “stdlib.h”) which predates the use of templates. One should not confuse this with “stl” which does indeed pertain to templates. ―AoV² 10:49, 16 March 2010 (UTC)

Proper capitalisation

I recently have nominated the accompanying Category:C++ standard library for renaming, to match the article title. However I′m open to the suggestion that the article should be lower-cased to match the category instead. Please see Wikipedia:Categories for discussion/Log/2010 March 16#Category:C++ standard library. ―AoV² 10:56, 16 March 2010 (UTC)

I've commented there. decltype (talk) 11:58, 16 March 2010 (UTC)
And for the reasons I outlined there, I propose the article to be moved to C++ standard library. decltype (talk) 15:25, 17 March 2010 (UTC)
For the sake of consensus I will switch to support renaming the category. While the upcoming standard will refer to it in lower case, the principal third-party sources (Josuttis and Becker) use the capitalized form in their book titles. decltype (talk) 23:07, 3 April 2010 (UTC)

Typo?

In the sentence "In C++, the Standard Library is a collection of classes and functions, which are written in the core language. The Standard Library provides several generic containers, functions to utilise and manipulate these containers, function objects, generic strings and streams (including interactive and file " the "to utilise" looks to be a typo, isn't it?--88.149.155.35 (talk) 09:23, 9 April 2009 (UTC)

Looks to be an accepted spelling variant, though I′m sure “use” would suffice. I say just don′t get caught in a do-whilst loop over it. ―AoV² 10:56, 16 March 2010 (UTC)
What makes you say it's a typo? Tomalak Geret'kal (talk) 22:32, 4 July 2011 (UTC)

C++ Standard Library vs STL

The article: "Although the C++ Standard Library and the STL share many features, neither is a strict superset of the other" makes it sound that they are two similar but not exactly the same. The side bar gives the impression they are not the same at all:

The "C++ Standard Library" constains all streams, the C Standard Library, and then also contains the STL, which contains all the rest.

Also, most of the information in the body of the article is redundant with the info from Standard Template Library. I think it should be made clearer who is a part of what. And if the STL is a part of the C++ Standard Library, then some merging needs to be done. 82.150.248.28 (talk) 14:07, 16 June 2010 (UTC)

It's *not* "a part of the C++ Standard Library". The term "STL" has fallen into the vernacular to refer to those parts of the C++ Standard Library that were based on the STL, but to begin merging the two articles would be a backwards step. Tomalak Geret'kal (talk) 22:33, 4 July 2011 (UTC)