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

Всем привет. Вопрос такой: зачем использовать оператор new при динамическом

массиве, если можно указать в квадратных скобках переменную задающую размер и без него?

22 ответов

8 просмотров
🛐 Михаил-Бавыка 🛐 Автор вопроса

даже если значение этой переменной ввели с терминала/консоли

🛐 Михаил Бавыка 🛐
даже если значение этой переменной ввели с термина...

покажи пример создания так "динамического массива"

🛐 Михаил-Бавыка 🛐 Автор вопроса
Kelbon
покажи пример создания так "динамического массива"

#include <iostream> int main() { int razmer; std::cin >> razmer; int mas[razmer]; mas[0] = 1; std::cout << mas[0]; return 0; }

🛐 Михаил-Бавыка 🛐 Автор вопроса
Dmitriy [Отпуск]
Спорим, не скомпилируется?

у меня скомпилировалось на g++

🛐 Михаил Бавыка 🛐
у меня скомпилировалось на g++

Gcc расширяет язык, по стандарту размер массива должен быть известен во время компиляции. Отступление от стандарта выключается -pedantic-errors , кажется . Вам std::vector нужен , или new

🛐 Михаил-Бавыка 🛐 Автор вопроса
Dmitriy [Отпуск]
Продемонстрируй на gcc.godbolt.org

в смысле продемонстрировать?

🛐 Михаил Бавыка 🛐
в смысле продемонстрировать?

В прямом. Скомпилить и дать ссылку. А вообще - ответ сообщением выше :)

🛐 Михаил-Бавыка 🛐 Автор вопроса
Dmitriy [Отпуск]
В прямом. Скомпилить и дать ссылку. А вообще - отв...

Не понимаю интерфейс этого сайта, мне показывает какой-то ассемблер когда я вставил код 🙂

🛐 Михаил-Бавыка 🛐 Автор вопроса
I
Gcc расширяет язык, по стандарту размер массива до...

Да это мне просто интересно стало зачем делать через new, если и так работает, вас понял что это отступление от стандарта наверное, буду в дальнейшем делать через new для безопасности

I
Gcc расширяет язык, по стандарту размер массива до...

будут ещё после этого рассказывать про msvc... а тут вон гцц новичков как обманывает...

🛐 Михаил Бавыка 🛐
Да это мне просто интересно стало зачем делать чер...

А вектор чем не нравится? Зачем себе работу создавать с выделением/освобождением?

🛐 Михаил-Бавыка 🛐 Автор вопроса
I
А вектор чем не нравится? Зачем себе работу создав...

Ну может и вектор, просто я вектор еще не учил, как изучу может буду делать через него

🛐 Михаил Бавыка 🛐
Ну может и вектор, просто я вектор еще не учил, ка...

New полезно знать и понимать, но ручные операции с памятью провоцируют ошибки в коде и веселье с отладчиком. Прочитайте про идиому RAII, если еще не читали.

Потому что нельзя указывать.

🛐 Михаил Бавыка 🛐
#include <iostream> int main() { int razmer; ...

Включи в GCC режим strict ANSI compatibility - и это не будет компилироваться

I
New полезно знать и понимать, но ручные операции с...

Дитя поди жизни не знает совсем, а ты — RAII !

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта