В связанном вопросе Я спросил о создании универсального контейнера. Использование полиморфных шаблонов кажется правильным решением.
Однако я не могу понять, как должен быть написан деструктор. Я хочу, чтобы владельцем выделенной памяти были контейнеры, даже если конструктор примера принимает массив T
(вместе с его измерениями), выделенный в какой-то другой точке.
Я хотел бы иметь возможность сделать что-то вроде
MyContainer<float> blah();
...
delete blah;
и
MyContainer<ComplexObjectType*> complexBlah();
...
delete complexBlah;`
Могу ли я сделать что-то подобное? Можно ли сделать это без умных указателей?
Опять же, спасибо за ваш вклад.