q Name collisions between classes or constants are more annoying than they are common. Using identifier prefixes or nesting names inside a struct is a step in the right direction, but only a small step. C++ namespaces introduce named, extensible scopes with all the right collision avoidance properties. In choosing a good name for a namespace, pick something stable. Don't use department names, company names or domain names.