News and info about the popular multi-paradigm programming language created by Bjarne Stroustrup.

Submit an item.

Brian Barcus started programming in C++ in 1991 with the Zortech C++ compiler.
Stephen W. Carson started programming in C++ in 1993.
Rick Hanson started programming in C++ in 1993.

Rvalue References

Another very nice new feature to look forward to in C++0x is rvalue references.  The syntax leaves a bit to be desired as they are overloading the && operator.  At least it does fit in with the current overloads of &.

http://www.artima.com/cppsource/rvalue.html

Don’t forget to read the discussion of the article.  There are some good posts in there where the authors of the article join in the conversations.

September is a big month for C++0x.

A draft of the C++0x standard is scheduled to be released in September <a href=”http://herbsutter.wordpress.com/2008/07/04/trip-report-june-2008-iso-c-standards-meeting/”>according to Herb Sutter’s blog</a>. The draft will be feature complete which means we will see the full language even though some details may change.

Sutter’s blog entry give a tantalizing review of new language features. There are new items to support templates (e.g., concepts, initializer lists) and concurrency that are fairly well publicized. Less well known are some nifty new algorithms.

Choose Concurrency-Friendly Data Structures

Herb Sutter has a new article in his series on concurrency.

Linked Lists and Balanced Search Trees are familiar data structures, but can they make the leap to parallelized environments?

http://www.ddj.com/hpc-high-performance-computing/208801371

Design and programming are human activities; forget that and all is lost.
— Bjarne Stroustrup, 1991

Generic Programming Concepts

Doug Gregor’s home page (http://www.generic-programming.org/~dgregor/) contains links to abstracts and full articles by Gregor that talk about generic programming issues. One particularly important C++ related article describes the new concepts mechanism that will come with C++0x. The article is “Concepts: Linguistic Support for Generic Programming in C++” (http://www.osl.iu.edu/publications/prints/2006/Gregor06:Concepts.pdf).

A very short and way too shallow explanation of concepts in C++ is that they allow programmers to tell the compiler what capabilities a type must support in order to be used as a template parameter. This allows the compiler to do more advanced error checking and report template errors in human readable language.

-Brian

The Problem

Once upon a time, we kept up with C++ by reading The C++ Report. That got absorbed into The C/C++ User’s Journal. That, in turn, got absorbed into Dr. Dobb’s. After all this absorbing, the C++ content was pretty watered down.

We hoped that, in this new age of blogs, someone more eminent than us would regularly post the kinds of things we used to get from The C++ Report: Progress reports on the C++ standards committee, explanations of language and library features, best practices, tools, etc.

But it looks like if we want a central repository of regularly updated C++ resources, we’ll have to do it ourselves.