#include class CString { public: CString(); ~CString(); VOID SetString(LPWSTR pszString); private: LPWSTR m_pszString; }; CString::CString() : m_pszString(NULL) { } CString::~CString() { if (m_pszString) { free(m_pszString); } } VOID CString::SetString( LPWSTR pszString ) { if (m_pszString) { OutputDebugString(m_pszString); free(m_pszString); m_pszString = NULL; } if (pszString) { m_pszString = wcsdup(pszString); } } int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrevInst, LPWSTR lpCmdLine, int nShowCmd ) { CString *pString = new CString(); if (pString) { pString->SetString(L"CrashesOnlyInCodeSnitch"); delete pString; } return 0; }