Get Started!

1. Get a Compiler

There are good free C++ compilers available for all major OS platforms. Download one that suits your platform:

  • Gnu Compiler Collection: Includes g++, a popular C++ compiler. A build for Windows is available here, builds for other platforms are likely available via your platform's package manager, or you can build it yourself using instructions here.
  • Clang: A new open-source C++ compiler for various platforms.
  • IBM XL C/C++ Compiler: A Clang-based Community Edition is available for Linux on Power, free for production use.

Or try one of these online compiler pages, which offer a range of compilers including the latest from Clang, GCC, Intel, and Microsoft. Some are compile-only to let you check whether your code is legal, and some let you also run your test programs to see their output.

2. Take a Tour

Stroustrup's authoritative "Tour of C++" is a great "lap around C++" by the creator himself, Bjarne Stroustrup. This four-part Tour is drawn from from near-final drafts of Stroustrup's upcoming The C++ Programming Language, 4th Edition, and was published on this site in four installments. (Free.)

3. Web Resources

  • C++ Reference: A site with its main focus on a complete Standard Template Library reference, the Technical Specifications, and a list of selected non-ANSI/ISO libraries. An offline archive is available.
  • A site with general information about the C++ language, a reference, tutorial, and an articles section.

4. Learn More

Finally, here are four great books for learning C++ -- whether you know C++ already or not, and whether you even know how to program in any language or not, you'll find the book that's right for you.

Are you completely new to programming? If you've never programmed before, why not learn in modern C++?

Programming: Principles and Practice Using C++, 2nd Ed. is an introduction to programming written by the creator of C++, Bjarne Stroustrup. Thousands of college freshmen taking Stroustrup's hugely popular Introduction to Programming class at Texas A&M University, and innumerable readers around the world, have learned programming and launched their careers using this book -- and modern C++.

Are you looking for "the" one-stop overview of C++?

The new concise A Tour of C++ by Bjarne Stroustrup is the go-to book to answer "what is the book of what you should assume everyone knows about C++?"

Through a modern tour of the language and library, its contents answer the question: What is the basic knowledge that we should be able to assume from a competent C++ programmer?

One could subtitle it: "Around the C++ world in 180 pages."

Are you new to C++?

The bestselling C++ Primer is one of the most popular books ever for learning C++, written by close colleagues of Bjarne Stroustrup who participated in the development of C++ since its early days.

This authoritative and comprehensive introduction to C++ will help you to learn the language fast, and to use it in modern, highly effective ways. Highlighting today’s best practices, the authors show how to use both the core language and its standard library to write efficient, readable, and powerful code.

Looking for "the" authoritative C++ reference?

The all-time best-selling C++ book on the planet is Bjarne Stroustroup's The C++ Programming Language. This book is primarily a reference, not a tutorial, but it also contains extensive explanations and many valuable insights and guidelines from the creator of C++ himself.

Looking for the authoritative tutorial and reference for the C++ standard library?

The C++ Standard Library: A Tutorial and Reference by renowned ISO C++ member Nicolai Josuttis is the most respected book for learning and studying the standard library. It provides comprehensive documentation of each library component, including an introduction to its purpose and design; clearly written explanations of complex concepts; the practical programming details needed for effective use; traps and pitfalls; the exact signature and definition of the most important classes and functions; and numerous examples of working code. You'll find it all here -- everything from concurrency and clocks, to the new hash-based containers and regular expressions, to high-quality guidance on how to use key language features like lambdas with it all.