Qual o propósito de imbuir em C ++?

Estou trabalhando com algum código hoje e vi:

extern std::locale g_classicLocale;
class StringStream : public virtual std::ostringstream
{
 public:
        StringStream() { imbue(g_classicLocale); }
        virtual ~StringStream() {};
};

Então eu cheguei em face deimbue. Qual é o propósito doimbue funciona em C ++? O que isso faz? Existe algum problema em potencial no usoimbue (não thread seguro, alocação de memória)?

questionAnswers(2)

yourAnswerToTheQuestion