Convertir una cadena ^ a wstring C ++

Programé una pequeña aplicación en C ++. Hay un cuadro de lista en la interfaz de usuario. Y quiero usar el ítem seleccionado de ListBox para un algoritmo donde solo puedo usar cadenas.

En resumen, tengo dos preguntas: -¿Cómo puedo convertir mi

    String^ curItem = listBox2->SelectedItem->ToString();

a una prueba de wstring?

-¿Qué significa el ^ en el código?

¡Muchas gracias!

Respuestas a la pregunta(4)

Su respuesta a la pregunta