DDJ, October 1999 -- C/C++ Programming


[October cover]

FEATURES

DATA STRUCTURES AS OBJECTS

by Jiri Soukup

Improving programmer productivity becomes increasingly difficult as programs grow more and more complex. Jiri examines what's involved in writing complex programs, which include a complex interaction among objects and employ many data structures and design patterns.

IMPLEMENTING OPERATOR->* FOR SMART POINTERS

by Scott Meyers

If you want to make smart pointers as behaviorally compatible with built-in pointers as possible, you should support operator->* just like built-in pointers do. Scott shows you how.

IMPROVING C++ PROGRAM PERFORMANCE

by Stanley Lippman

Stanley examines the three most common strategies for C++ program speedup, then points out that it is often enough to simply review the code for inappropriate C++ programming idioms.

PSEUDO-INCREMENTAL LINKING FOR C/C++

by William A. Hoffman and Rupert W. Curwen

Bill and Rupert describe a method for managing link/run time that provides fast link/run time during development, without sacrificing run time in the final product, and without the use of customized, nonstandard linking software.

THE WIRELESS APPLICATION PROTOCOL

by Steve Mann

WAP, short for "Wireless Application Protocol," is a multilayer communications architecture that borrows heavily from existing Internet standards while solving problems specific to wireless networks.

EMBEDDED SYSTEMS

THE SMALL SCRIPTING LANGUAGE

by Thiadmer Riemersma

Small, described as "Small-C" without the "C," is a typeless, 32-bit extension language with a C-like syntax that features fast execution speed, stability, simplicity, and a small footprint.

INTERNET PROGRAMMING

HTML THIN CLIENT AND TRANSACTIONS

by Jean-François Touchette

Jean-François shows how you can implement reliable, nonrepeatable transactions using a technique that is applicable to any Java Server Development Kit-based architecture.

PROGRAMMER'S TOOLCHEST

PETE: THE PORTABLE EXPRESSION TEMPLATE ENGINE

by Scott Haney, James Crotinger, Steve Karmesin, and Stephen Smith

PETE, short for "Portable Expression Template Engine," is a C++ framework that lets users easily add expression-template functionality to container classes and perform complex expression manipulations.

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

Michael takes a byte of the Big Apple, as he travels cross-country to attend MacWorld Expo NY '99, where he learned about the iBook -- and more!

C PROGRAMMING

by Al Stevens

In this brief column, Al reports on his visit to the 9th Annual Shareware Conference.

JAVA Q&A

by Evan Easton

In C and C++, enums let you define a constrained set of options for an API parameter. But Java doesn't directly support this concept. Evan presents a workaround for this deficiency using simple generic types.

ALGORITHM ALLEY

by Wesley Bylsma

Median filters are useful tools in digital signal processing. Wesley examines their use for removing impulsive signal noise while maintaining signal trends.

DR. ECCO'S OMNIHEURIST CORNER

by Dennis E. Shasha

In this month's installment, Ecco deals with the problems the rich and famous have in divvying up their loot. We all should have such problems.

PROGRAMMER'S BOOKSHELF

by Peter N. Roth

Peter Roth examines a trio of STL books -- Mark Nelson's C++ Programmer's Guide to the Standard Template Library; David Musser and Atul Saini's STL Tutorial And Reference Guide; and Matthew Austern's Generic Programming and the STL.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

NEWS & VIEWS

edited by Nicholas Baran

OF INTEREST

by Nicholas Baran and Amy Lincicum

SWAINE'S FLAMES

by Michael Swaine