Monday, July 26, 2004

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

Bugs:

DATE
REPORTED WHO PAGES WHAT
-------- --- ----- ------------------------------------------------
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
them.

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
http://www.cuj.com/documents/s=8000/cujcexp1812austern/

DATE
REPORTED WHO PAGES WHAT
-------- --- ----- -----------------------------------------------------------
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

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

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

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

Saturday, July 3, 2004

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
DDJ.com. If not, the full article (both parts) will be available at my web site
in mid-October. Check in with http://www.aristeia.com/publications_frames.html
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 :-)