V>>TCHAR — это же тип, если мне не изменяет склероз. В чем задача-то?
Z>Хочется контролировать выделение памяти + уменьшить код для создания переменных.
Все равно не понимаю. Не хочется писать каждый раз cast и sizeof? Используй инструменты C++ — new, vector, string.
То есть, сделать-то это просто:
template<class T>
T* my_new(T*& obj, size_t size) {
obj = static_cast<T*>(malloc(size));
return obj;
}
Но зачем?
String1 = new TCHAR(12) — гораздо нагляднее.
Z>Почему? Ведь можно контролировать/отлаживать высвобождение занятой памяти.
Таким образом — нельзя. Что ты будешь делать, если у тебя этот указатель существует более чем в одном экземпляре?
Вообще непонятно, зачем ты пытаешься писать на уродливой смеси C и C++.