{logo}

May 2003
Volume 21 Number 5

Multithreading

Efficient Thread Coordination

John LaPlante
Improve your thread control logic and make your program faster at the same time.

The Guard Idiom: Enhancing the Scoped Locking Idiom

Eric D. Crahen
More flexible locks for your multithreaded programs.

FEATURES

A Secure Storage Allocator Template

Edward Elliott
A policy-based approach to protecting sensitive data.

C/C++ Tip #15: A Class for Handling Shared Memory Under Win32

Sarir Khamsi
This tip addresses the problem of using shared memory under Win32 and using the address returned from the system calls to instantiate an object in that memory. As you might guess, this technique uses placement new to construct the object in the address returned by the OS, but it also uses templates to allow any object to be constructed in that space.

An Idea for Dynamic C Strings

Daniel Lawrence
Give its walking papers with this slick dynamic string library for C.

C/C++ Tip #16: Implicit Type Conversion Operator with a Good Piece of Pi

Curt L. Martin
The software group I work for uses a typed-out approximation constant as the preferred method for expressing pi. Unfortunately, when you rely on a typed-out version of pi, the value of pi becomes susceptible to human error.

CONTRIBUTING EDITORS

The New C — Floating-Point Math: In the Intersection of C and C++

Randy Myers and Dr. Thomas Plum
Type-generic math for everyone.

Conversations — Delegating Constructors?

Jim Hyslop & Herb Sutter
A lesson on writing moral code.

Uncaught Exceptions — No Brain, No Gain

Bobby Schmidt
Learn how not to declare template friends and implement assignment operators, lest you actually make these mistakes.

DEPARTMENTS

Editor’s Forum

New Products

We Have Mail

C++ EXPERTS ON THE WEB

The (B)Leading Edge — Revisiting Exception Handling

by Jack W. Reeves
In this column, Jack continues his review of the guidelines he developed years ago for throwing exceptions and how to use exception specifications.

When enum Just Isn't Enough: Enumeration Classes for C++

by Yves Meynard
Here's a more intelligent mechanism for enumerating resources in C++.

Linux and the iPAQ, Arm in Arm

by Trevor Harmon
The Compaq iPAQ: Is it a consumer product or a powerful platform for embedded applications? Trevor Harmon shows how to create an embedded-style application for the iPAQ.

Book Review: "C++ Gotchas"

by Marc Briand
Marc Briand examines Steve Dewhurst's treatise on programming pitfalls: C++ Gotchas: Avoiding Common Problems in Coding and Design.

Gotchas #1 and #17

by Steve Dewhurst
Excerpted from C++ Gotchas: Avoiding Common Problems in Coding and Design. Steve Dewhurst looks at excessive commenting and maximal munch.