170 похожих чатов

Void push(int* p, int &size, int add_item){

int *tmp = new int[size]{0};

for(int i = 0; i < size; i++)
tmp[i] = p[i];

delete [] p;
p = new int[size++];

for(int i = 0; i < size; i++)
p[i] = tmp[i];

p[size - 1] = add_item;
delete [] tmp;
}

Интересно, что я делаю не так?

terminate called after throwing an instance of 'std::bad_array_new_length'
what(): std::bad_array_new_length
[1] 13444 IOT instruction (core dumped) ./main

12 ответов

29 просмотров

Программу

Amir-GameDev Автор вопроса
Ilya Zviagin
Программу

Так, в чём именно проблема? Я просто в упор не вижу проблему...

Стикер

Amir-GameDev Автор вопроса

добавляет значение add_item в конец динамического массива

Amir GameDev
добавляет значение add_item в конец динамического ...

А куда девается после этого динамический массив ?

Ilya Zviagin
А куда девается после этого динамический массив ?

@Linuxoid_1 - этот вопрос так и остался неотвечен

Ilya Zviagin
А куда девается после этого динамический массив ?

@Linuxoid_1 Вот если ответишь себе на этот вопрос - может что-то поймёшь

Amir-GameDev Автор вопроса
Ilya Zviagin
@Linuxoid_1 - этот вопрос так и остался неотвечен

tmp будет удалён, но т.к. *p это указатель, он поменяется в ходе выполнения ф-и

Amir-GameDev Автор вопроса
Ilya Zviagin
Не поменяется.

0_о вроде срабатывало, хм... Ладно

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта