Unicode in MFC/C++

To make strings not barf when you switch back and forth between multibyte encoding and unicode encoding….

when defining string literals:
_T(“StringValue”) – works always
L(“StringValue”) – works if unicode rather than multibyte
“StringValue” – works if multibyte

when defining string variables:
LPTSTR myString = new TCHAR[25];

when changing control values:
controlName.SetWindowTextW( myString.c_str() );