¿Cómo convertir CString y :: std :: string :: std :: wstring entre sí?

CString es bastante útil, mientras questd::string Es más compatible con el contenedor STL. estoy usandohash_map. Sin embargo,hash_map no soportaCString como clave, entonces quiero convertirCString dentrostd :: string.

Escribiendo unCString La función hash parece tomar mucho tiempo.

CString -----> std::string

¿Cómo puedo hacer esto?

std::string -----> CString:

inline CString toCString(std::string const& str)
{
    return CString(str.c_str()); 
}

Estoy en lo cierto?

EDITAR:

Aquí hay más preguntas:

¿Cómo puedo convertirwstring, CString el uno al otro?

//wstring -> CString,
std::wstring src;
CString result(src.c_str());
//CString->wstring. 
CString src;
::std::wstring des(src.GetString());

Esta ahíalguna ¿problema?

¿Cómo puedo convertirstd::wstring, std::string el uno al otro?

Respuestas a la pregunta(13)

Su respuesta a la pregunta