Here is an archived version of the site, updated daily.
Alternatively, a fully indexed and full-text searchable Windows HTML help (.chm) version of this site's Wiki content (as of February 2009) is also available. It works on many Windows versions, including the most recent ones, without the need for additional software. Since this help file is indexed it can be used in a wide range of Integrated Development Environments (IDE) that support .chm files, e.g. for keyword-sensitive access to function and template names.
You can download the help file here: cppreferencecom_feb09.zip
Sure, that would be great! All content here is licensed under the Creative Commons Attribution 3.0 license.
All that we would ask is that you include a link back to cppreference.com so that people know where to get the most up-to-date content.
Absolutely. If you see something that is wrong, fix it. If you would like to add content, make sure it's not already there, and then edit away.
Just be gentle with your changes, and think before you type.
cppreference.com is powered by DokuWiki.
There are no “Introduction to Programming” tutorials here. This site is meant to be used by more-or-less experienced C++ programmers, who have a good idea of what they want to do and simply need to look up the syntax. If you're interested in learning C or C++, try one of these sites:
Few things in life are absolute. Many C++ compilers have added or missing functionality. If you don't find what you are looking for here, don't assume that it doesn't exist. Do a search on Google for it.
Most of the code on this site was compiled under Linux (Red Hat, Debian, or Ubuntu) with the GNU Compiler Collection. Since this site is merely a reference for the C++ specification, not every compiler will support every function listed here. For example,
#include <vector> #include <Vector> #include <vector.h>
(according to the spec, the first of those should work, and the compiler should know enough to use it to reference the real vector header file.)
#include <cstdio>
instead of
#include <stdio.h>
cout << "hello world!";
However, newer compilers require that you either use
std::cout << "hello world!";
or declare what namespace to use with the “using namespace” command.
…The list goes on and on. In other words, individual results may vary.
If you find any errors in this reference, please feel free to fix them. Or you can contact us at comments@cppreference.com.
Think of it as a community service, for geeks, by geeks.