![]()
November 2001
Volume 19 Number 11ENGINEERING AND NUMERICAL PROGRAMMING
Optimization with Simulated Annealing
Mark Bucci
When you care enough to find the very best, here's an effective way to find it.MAPM, A Portable Arbitrary Precision Math Library in C
Michael C. Ring
Frustrated by the finiteness of fixed-size arithmetic? This math library gives you the precision you need.A Template for the Nearest Neighbor Problem
Larry Andrews
Andrews ports to C++ an overlooked algorithm that solves a very important mathematical problem occuring in many disciplines, maybe even yours.SPECIAL SECTION
C/C++ Users Journal 20th Anniversary
C/C++ Users Journal celebrates 20 years of providing practical, working solutions for advanced programmers.FEATURES
An Asynchronous Execution Macro
Kalin Nakov
If you were wondering what local classes were good for, here's a good example that makes easy work of spawning single-statement threads.C/C++ CONTRIBUTING EDITORS
Sutters Mill: The String Formatters of Manor Farm
Herb Sutter
There is more than one way to "string" an integer. Find your favorite here.Uncaught Exceptions: Your Witness
Bobby Schmidt
You'll be glad you looked at these insights on name lookup. Just don't let Bobby catch you whining.The Standard Librarian: Searching in the Standard Library
Matt Austern
The genius as well as the oversights in the design of the Standard C++ library surface in a simple discussion of its linear and binary search algorithms.DEPARTMENTS
Editors 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 the XDR_Stream Class, Part II
by Jack W. Reeves
This month, Jack continues to expand his XDR_Stream library. First, he looks at some porting problems and the changes they require. Then he turns his attention to expanding the XDR_Stream interface to provide support for the easy encoding/decoding of objects accessed via pointers where there may be multiple references to the same object. Finally, he looks at what it takes to encode/decode polymorphic objects.From Mechanism to Method: Generic Decoupling
by Kevlin Henney
Is it possible to be too well connected? Is it possible to be too eager to please? If we are talking about code, the answer is yes. Low coupling and high cohesion are useful and practical properties of code, not just abstract academic concepts. In practice code that is clear in its purpose and low in its dependencies is generally easier to work with than code that attempts to include everything and please everyone. This months column explores four core approaches to decoupling a C++ system, with a particular focus on the perhaps surprising role that templates can play.Conversations: Hungarian wartHogs
by Jim Hyslop and Herb Sutter
Whats in a name? Plenty, if you use Hungarian notation. Too much, if you use Hungarian notation.