Como converter um ATL / MFC CString em um QString?

Dada a codificação do projeto, provavelmente é Unicode (mas não com certeza) qual é a melhor maneira de converter ATL :: CString em QStrin

O que eu pensei é este:

CString c(_T("SOME_TEXT"));
//...
std::basic_string<TCHAR> intermediate((LPCTSTR)c);
QString q;

#ifdef _UNICODE 
q = QString::fromStdWString(intermediate);
#else
q = QString::fromStdString(intermediate);
#endif

Você acha que funciona? Alguma outra idéia?

questionAnswers(1)

yourAnswerToTheQuestion