{logo}

January 2001
Volume 19 Number 01

MIXED-LANGUAGE PROGRAMMING

JNI-C++ Integration Made Easy

Evgeniy Gabrilovich and Lev Finkelstein
Extremely versatile interfaces like the Java JNI also tend to be extremely cumbersome, as a rule. The authors have found a way to break that rule.

Working with SOAP, the Simple Object Access Protocol

Chris Dix
SOAP makes distributed computing possible in a multiplicity of forms, with XML as a communication medium. Little wonder it’s generating so much excitement.

Exchanging Data between Java and C/C++ Windows Programs

Dr. He Lingsong
The notorious "endian" problem shows up in all sorts of places — in this case, between different programming languages.

C/C++ TIPS

Tip #5: A C/C++ Comment Macro

Mark Timperley
For a non-intrusive debugging macro, this one-liner is hard to beat.

C/C++ CONTRIBUTING EDITORS

C++ Made Easier: Using Library Algorithms

Andrew Koenig and Barbara E. Moo
If you’re struggling with complicated loops and off-by-one errors, you might be doing things the hard way. Andy shows us how easy it can be, with a little help from the standard library.

The New C: Integers, Part 2

Randy Meyers
The new C Standard has a novel idea: just accept that machine-word sizes will grow. Randy explains C’s proactive strategy for accommodating the inevitable.

Sutter’s Mill: Containers in Memory: How Big Is Big?

Herb Sutter
If you are basing your selection of standard containers on memory requirements, then Herb has some bad news and some good news.

The Journeyman’s Shop: Sorting through Quicksort, Part 1

Pete Becker

Pete uses the popular quicksort algorithm as a mini-laboratory for exploring algorithm design and analyzing algorithm performance problems.

The Standard Librarian: Defining Iterators and Const Iterators

Matt Austern
Writing an iterator isn’t hard, and it’s a natural way to extend the C++ Standard library. But if you want to do it right, there are a few wrinkles you ought to know about.

Uncaught Exceptions: 21st Century Man

Bobby Schmidt
It may be the new millennium, but we still have trouble understanding switch statements, templates, access modifiers, and (in some folks’ view) how to keep things simple.

Post-Mortem Debunker: Time Flies

Stan Kelly-Bootle
Having discredited doomsayers of the past, Stan makes a few of his own predictions to chill the hearts of his favorite editors.

DEPARTMENTS

Editor’s Forum

New Products

We Have Mail

C++ EXPERTS ON THE WEB

In this new, web-only component of CUJ, we continue publication of the columns that were popular in the former C++ Report magazine. The following articles are featured on the CUJ website this month:

The (B)Leading Edge: Using IOStreams, Part 1

by Jack W. Reeves
Jack shows one of many ways to extend the IOStreams library: by deriving a custom version of a streambuf class for strings.

Conversations: Obelisk

by Jim Hyslop and Herb Sutter
Not all monoliths are harbingers of evolution, even in the year 2001.

Object Interconnections: Standard C++ and the OMG C++ Mapping

by Douglas C. Schmidt and Steve Vinoski
Doug and Steve present some alternative (and hypothetical) CORBA/C++ mappings that illustrate the complexities of language-neutral distributed computing.

From Mechanism to Method: Good Qualifications

by Kevlin Henney
Constness is indepedent of type — or is it? Kevlin gives us good reasons to rethink this simplistic view.