Поскольку вы являетесь разработчиком C #, я укажу на несколько вещей, которые c ++ делает по-другому.
Это выделяет новый wchar_t и присваивает его t
wchar_t* t = new wchar_t
Это массив константных символов
"Tony"
Чтобы получить постоянный массив wchar_t, добавьте к нему префиксL
L"Tony"
Это переназначает t указывать на константу L "Tony" вместо вашего старого wchar_t и вызывает утечку памяти, поскольку ваш wchar_t никогда не будет освобожден.
t = L"Tony"
Thisсоздает строку широких символов (wchar_t) для хранения копии L "Tony"
std::wstring t = L"Tony"
Я думаю, что последняя строка - это то, что вы хотите.Если вам нужен доступ к указателю wchar_t, используйте t.c_str ().Обратите внимание, что строки c ++ являются изменяемыми и копируются при каждом присваивании.
Это можно сделать следующим образом:
const wchar_t* t = L"Tony"
Это не создает копию, а только назначает указатель, указывающий намассив const wchar