У меня есть вымышленный класс:
template<typename T> class demonstration
{
public:
demonstration(){}
...
T *m_data;
}
В какой-то момент выполнения программы я хочу установить m_data
в большой блок выделенной памяти и создать там объект T
.
В данный момент я использую этот код:
void construct()
{
*m_data = T();
}
То, что я сейчас понял, вероятно, не лучшая идея ... не будет работать при определенных обстоятельствах, если, например, T
имеет частный оператор присваивания.
Есть ли нормальный / лучший способ сделать то, что я пытаюсь здесь?