August 1998 -- C++ Programming


FEATURES

C++ INTERFACES

by Fred Wild

Interfaces provide a convenient means of resolving the tension between what a class is and what it can do. Keeping interface and implementation separate in C++ programs keeps designs clean and fosters reuse.

C++ NOTIFIERS

by Dave Pomerantz

Notifiers, also called "events" or "messages," are used to pass information anonymously between objects. Dave shows how notifiers can work in C++, using a multithreaded application as an example.

OBJECT SERIALIZATION, C++, AND JAVA

by Kevin Haverlock

Kevin presents a technique for exchanging data between Java and C++ using object serialization over a TCP/IP sockets connection.

SELF-REGISTERING OBJECTS IN C++

by Jim Beveridge

The "specialty store" Jim presents lets new classes be registered at run time, even if they live in a shared library or DLL. Once registered, these new classes are treated exactly like built-in classes.

C++ LOCALES

by Nathan Myers

Nathan discusses how the Standard C++ Library supports internationalization and offers tips on using the C++ locale library.

C PREPROCESSING WITH TCL

by Jonathan S. Arney

CPDQ is a utility that uses Tcl for more-sophisticated preprocessing than CPP. CPDQ's C API makes it easy both to extend the language and embed the interpreter into other applications.

THE WINDOWS CE BUILD PROCESS

by Aspi Havewala

When you create a unique hardware platform and use Windows CE, you can pick and choose from among available components to build a "custom" version of Windows CE.

EMBEDDED SYSTEMS

EMBEDDED DEVELOPMENT COMPILERS

by Don Hair and Cesar Quiroz

Don and Cesar examine the differences between native and embedded development systems, and discuss the features of embedded development compilers that make them different from native compilers.

INTERNET PROGRAMMING

FAST IP ROUTING WITH LC-TRIES

by Stefan Nilsson and Gunnar Karlsson

One of the bottlenecks of the Internet is the address lookup operations performed by routers. Stefan and Gunnar show how to perform the lookups efficiently with a simple data structure--a level-compressed trie.

PROGRAMMER'S TOOLCHEST

THE ACTIVE EXPRESSIONS LIBRARY

by Mauricio de Simone and Gregory V. Wilson

The Active Expressions library combines the conciseness and checkability of language extensions with the portability and extensibility of a library.

PLUG-IN COMPONENTS FOR MFC

by Stefan Hoenig

MFC is limited when it comes to encapsulating different window functionality into separate objects. Stefan presents a technique for encapsulating user actions into separate objects that support MFC message maps.

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

"And the winner is...," says David Patterson, "...David A. Patterson." Michael also looks at Bob Bemer's newest Y2K trick, and reports on Apple's Worldwide Developers' Conference.

C PROGRAMMING

by Al Stevens

When it rains anniversaries, it pours. Al looks back at his past ten years at the helm of the "C Programming" column.

JAVA Q&A

by Cliff Berg

Cliff shows how you can use encryption to protect data at its point of origin or destination.

ALGORITHM ALLEY

by Sergei Savchenko

Efficiently resolving database queries requires you to reconcile the structure of the databases with the structure of queries. Mathematical algorithms known as "automated theorem provers" excel at this type of problem.

DR. ECCO'S OMNIHEURIST CORNER

by Dennis E. Shasha

Ecco and Liane lace up their L.L. Bean boots and venture into the great outdoors to solve the problem of how many angels can fit on the head of a tent--and still survive.

PROGRAMMER'S BOOKSHELF

by William Stallings

William looks at a pair of recently released IPv6 books--Christina Huitema's IPv6: The New Internet Protocol, Second Edition, and Stewart Miller's IPv6: The Next Generation Internet Protocol.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

NEWS & VIEWS

by the DDJ staff

OF INTEREST

by Eugene Eric Kim

SWAINE'S FLAMES

by Michael Swaine


Copyright © 1998, Dr. Dobb's Journal