This is a prepub draft of a May C/C++ Users Journal article, ©me. Now that work on the next version of the C++ standard library is underway, there are some basic logistical questions that need to be answered about the C++0x facilities: What namespace(s) are they going to go in? Do we want to support source compatibility (existing C++ programs using the C++98 standard library continue to work with unchanged meaning)? This is almost certainly necessary. • Do we want to support binary compatibility (vendors can ship a C++0x standard library that is linkcompatible with code written to their C++98 standard library)? This is less obviously necessary, although some users and some vendors will consider it essential. These questions are thornier than they look. The choices that are made for the C++ standard library ought to be exemplary, showing library writers in general how library versioning ought to be done in C++. And, anyway, that’s one of the big things namespaces were supposed to be good for, right? So don’t we have the tools to do a better job than namespace-less languages? Alas, it’s not quite that simple, as we shall see. Source and Binary Compatibility First, consider one of the most basic issues facing any library vendor contemplating a new release: whether t
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.