аннулируются расширения()C++ создан класс Vector
Эта функция позволит удвоить емкость вектора. Эта функция должна перераспределять память для динамически распределенного массива и обновлять значение емкости. Будьте осторожны, чтобы правильно обрабатывать случай, когда емкость равна 0, перед вызовом функции expand().
Убедитесь, что вы не создаете утечку памяти здесь.
недействительными расширения (без знака) количество
Эта функция будет расширить емкость вектора на величину принятого в. Эта функция должна перераспределить память для динамически выделенного массива и обновить значение емкости.
Убедитесь, что вы не создаете утечку памяти здесь.
Я пытаюсь ответить на эти функции, но я просто не могу заставить его работать. Это код, который у меня есть до сих пор.
void IntVector::expand() {
cap = cap * 2;
int *temp = new int[cap];
for(unsigned i = 0; i < sz; ++i) {
temp[i] = data[i];
}
delete [] data;
}
void IntVector::expand(unsigned amount) {
cap = cap + amount;
int *temp = new int[cap];
for(unsigned i = 0; i < sz; ++i) {
temp[i] = data[i];
}
delete [] data;
}
У меня также есть частные поля данных:
-unsigned SZ: сохраняет размер IntVector (число элементов используется в настоящее время).
-unsigned крышка: хранить размер массива
-INT * данные: хранит адрес динамически выделяемой массив целых чисел
Я не могу показаться, чтобы выяснить проблему.
Большое вам спасибо.
Пожалуйста, пост Minimal, полный, Верифицируемый пример.В его нынешнем виде ваш вопрос не по теме. –