Channels ▼


Living By the Rules: Part II

Pete is a consultant specializing in library design and implementation. He has been a member of the C++ Standards Committee since its inception, and is Project Editor for the C++ Standard. He is writing a book on the newly approved Technical Report on C++ Library Extensions to be published by Addison-Wesley. Pete can be contacted at [email protected]

Last March, I spent a week and a half in Berlin, Germany. Despite missed airline connections, cancelled flights, and lost luggage, I enjoyed the trip. Its intellectual high point was the Deutches Theater's presentation of a German translation of Othello. My high-school German is pretty rusty, but the elaborate staging and sound effects, combined with a rudimentary familiarity with the plot, made it fairly easy to follow the action. One of the interesting innovations was the halftime show, designed, I suspect, to lure the patrons, out drinking beer and wine in the lobby, back into the theater for the second act. Imagine, if you will, Desdemona and Bianca's slowly simmering conflict erupting into a duel, with each one armed with two swords...

Shortly after that, the C++ Standards Committee met. These meetings don't have the drama of Shakespeare, but they do have the complex plots. Fortunately, they don't usually have tragic endings. They're more like his comedies, where all the complexities get sorted out with explanations that are nearly plausible. This month, I look at how some of the plot lines have so far been resolved, with changes to the C++ Standard that you can look forward to seeing officially sometime in the future.

The biggest change was the addition of almost all of TR1 to the Standard [1]. That means that you'll get smart pointers, four new kinds of call wrappers [2], a bunch of type traits templates for those who enjoy template metaprogramming, random-number generators with well-defined properties and distributions, an array template that should be your replacement for fixed-size C-style arrays, hashed containers, regular expressions, and nearly full C99 library compatibility [3]. I'm not going to talk about that in this column. It's far too big. But we'll look at the rest of the changes, including a few from the meeting last October in Mont Tremblant, Canada.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.