Monday, July 26, 2004

ESTL Errata Updates

It turns out that ESTL is ready for a reprint, too, so I've updated the
ESTL errata page at The new
additions (not all of which I fixed for the upcoming printing -- the errata
page shows which ones I did) are as follows:


-------- --- ----- ------------------------------------------------
6/ 4/04 tb Item 7 Item title should make clear that this applies
only when the container owns the pointers.
Containers of pointers not owned by the
containers should of course not use delete on

6/28/04 he 197 The statement in the 2nd prose paragraph that
"equal_range not only does the job of find for
sorted ranges, it also replaces count" is
incorrect, because this part of the Item is
discussing STL algorithms, and the equal_range
algorithm is based on equivalence, while the
find and count algorithms are based on equality.

7/20/04 gc 228 Regarding reference [24], the article appeared in
December 2000 (not November), and the URL for that
article is now

2/28/04 mp 257 Add an index entry under "set" pointing to page
199 for "idiomatic test for membership."

Interesting Comments:

-------- --- ----- -----------------------------------------------------------
3/29/04 df 74 An alternative to "&v[0]" is "&v.front()". df argues
that this is "the most explict way to do it." To me,
"&v[0]" is equally explicit, but both work.

1/ 4/04 or Item 24 Another advantage to a function like efficientAddOrUpdate
vis-a-vis operator[] is that use of operator[] requires
that the value type of the pair (i.e., the mapped_type)
support default construction for insertion, but
efficientAddOrUpdate does not.


Saturday, July 24, 2004

MEC++ Errata Updates

I just got word that MEC++ is up for another reprint, so I took the
opportunity to update the errata list. There are only three new entries:

-------- --- ----- ------------------------------------------------ --------
! 4/19/04 cc 50 The para after the first code fragment says that 7/24/04
the window will always be destroyed, even if an
exception is thrown, but this this true only if
the exception is caught. If it's never caught,
there is no guarantee that local objects will be

! 6/ 9/04 jw 70 In 3rd para, bad_typeid isn't thrown when a null 7/24/04
pointer is used with dynamic_cast, it's thrown
when a null pointer is dereferenced in a call to

Interesting Comments:

-------- --- ----- -----------------------------------------------------------
1/18/04 sdm Item 34 A topic related to this Item is how to link object code
generated from different C++ compilers. For one take on
that topic, consult Karsten Hoof's February 2004
CUJ article, "GNU & Native Compilers." For another,
see Joe Goodman's March 2004 CUJ article,
"Interoperability & C++ Compilers."


Saturday, July 3, 2004

DDJ Article Conclusion; Seminars in Germany and at OOPSLA

Part 2 of the article by Andrei Alexandrescu and me on double-checked locking is
now out in the current (August) issue of Dr. Dobbs Journal. If you're not a DDJ
subscriber, I believe that you can download a PDF copy of the magazine from If not, the full article (both parts) will be available at my web site
in mid-October. Check in with
at that time for links.

During the first week of October, I'll be giving seminars in Stuttgart and
Berlin. The Stuttgart seminars should be especially fun, because they're either
new and improved or just plain new. Briefly, here are the topics for Stuttgart:

- DESIGN PATTERNS, TEMPLATES, AND PBD. This will be a revision of my current
course on this topic to focus more on variations of well-known patterns instead
of on GOF patterns themselves.

- WHAT'S NEW IN EFFECTIVE C++? I'm working on the third edition of the book
now (a significant rewrite), and this brand new seminar will cover material new
to the third edition.

- BETTER SOFTWARE -- NO MATTER WHAT. A language-independent seminar on things
programmers can do to improve software quality. This includes my keyholes work
as well as a lot more. This will be a full-day version of a seminar that has
never been longer than a half-day before.

In Berlin, I'll be presenting my two-day STL seminar based on Effective STL.

At OOPSLA in late October, I'll be reprising BETTER SOFTWARE--NO MATTER WHAT.
OOPSLA attendees should benefit from the feedback I get from the world premiere
in Stuttgart :-)

For details on all my upcoming seminars, consult my Upcoming Talks Page,