Если у меня есть класс, который выглядит примерно так:Нужно ли мне удалять базовые типы данных в деструкторе? C++
class SomeClass {
public:
SomeClass(int size) {
arr = new int[size];
someInt = size/10;
};
~SomeClass() {
delete [] arr;
//do I need to somehow delete the int value 'someInt'?
};
private:
int *arr; //pointer to dynamically allocated array
int someInt;
}
Что, собственно, должны содержаться в деструкторе, чтобы избежать утечек памяти?
Я знаю, что мне нужно удалить массив, поскольку он динамически распределен, но мне нужно что-либо делать с значениями int или другими базовыми типами данных?
Спасибо, Jonathan
Нет - и вы должны использовать 'std :: vector' вместо выделения пространства вручную. –
[Не так, но рекомендуется Q & A] (http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list?rq=1) :) – jrok
@Jerry, это связано к назначению школы, где мне требуется использовать динамически выделенный массив в качестве его части. Мне также требуется деконструировать все в классе должным образом. – Jonathan