delete rel
не может освободить память массива.Для этого вы должны использовать delete[] rel
.Однако вы должны знать, что вы можете использовать контейнеры из стандартной библиотеки, которые выполняют управление памятью, например std::vector<string>
.Это почти всегда должно быть предпочтительным способом.Вот так может выглядеть ваш класс (примечание: вам не нужен деструктор):
class Conference
{
public:
Conference() : numMaxRel(10)
{
rel.reserve(numMaxRel);
}
private:
size_t numMaxRel;
std::vector<std::string> rel;
};
Также обратите внимание, что теперь у вас есть пользовательский конструктор копирования и конструктор перемещения, копирование и перемещение.задания, которые из коробки, делать то, что вы ожидаете от них.