The difference is that std::map is not the Flyweight Pattern itself, but can be used in the implementation of one. Here's an illustration:

http://www.codeproject.com/gen/desig...validators.asp