Изучение C++ для начинающих / #8 - Динамический массив данных

  Рет қаралды 96,981

Школа itProger / Программирование

Школа itProger / Программирование

Күн бұрын

Пікірлер: 77
@stinger9811
@stinger9811 Жыл бұрын
Автор, большое спасибо вам за то,что создали этот курс.Да еще и бесплатно. Огромная благодарность вам.
@nightwolf9596
@nightwolf9596 Жыл бұрын
Крутяк, мало того что c++ сам по себе очень быстрый, так его ещё и мощно суперский оптимизировать
@Charles_Dickens
@Charles_Dickens 10 ай бұрын
Так интересно и приятно учится по твоим урокам)
@alexlivingstone3419
@alexlivingstone3419 10 ай бұрын
спасибо за курс, очень интересно
@роскомнадзор-д8я
@роскомнадзор-д8я Жыл бұрын
0:27 не только в C++, а также и в его предке C но в C это реализовано как отдельная либа и вызывается это как функция, то в плюсах это builtin 0:46 она также нужна в случаях, когда размер массива не обязательно равен x, а может быть равен y, v, r или s то есть например когда надо загрузить в память картинку непостоянного размера 4:50 рассказывать про динамические массивы перед тем как объяснить что такое указатели :D
@Pablo-rk5mo
@Pablo-rk5mo 11 ай бұрын
Надушнил
@роскомнадзор-д8я
@роскомнадзор-д8я 11 ай бұрын
@@Pablo-rk5mo покажи пятачок, Братишка
@Viktaklik
@Viktaklik 8 ай бұрын
этот бро знает с++ и решил смотреть курс, чтобы до3баться 👌😎😎👌
@damircom007
@damircom007 Жыл бұрын
Круто вышло видос. Жду 9 урок. Удачи в продвижении канала
@Remington-og3tf
@Remington-og3tf Жыл бұрын
Здорово!
@Someone_Game999
@Someone_Game999 Жыл бұрын
Однозначно круто, молодец!
@dobynda
@dobynda Жыл бұрын
спасибо большое, все классно объяснил, а то я понять никак не мог
@СашаПриходько-щ8ю
@СашаПриходько-щ8ю 3 ай бұрын
Огромное Вам спасибо за курс!!!!
@phonker-ld7ok
@phonker-ld7ok Жыл бұрын
полезное видео, спасибо большое
@moscow8881
@moscow8881 Жыл бұрын
спасибо очень хорошо объясняешь, я всем свои знакомым рекомендую этот ресурс
@SpaceLexaDnepr
@SpaceLexaDnepr Жыл бұрын
Спасибо
@PoloMarco-b5h
@PoloMarco-b5h 2 ай бұрын
Thank you bro 🙂
@arch6544
@arch6544 7 ай бұрын
9:01, ввел все так же, как и у вас. Но у меня во второй строке так же осталось число 45. В чем может быть проблема ?
@kocunys180
@kocunys180 4 ай бұрын
у меня тоже самое, сижу голову ломаю
@ZabivnoyBanan
@ZabivnoyBanan 2 ай бұрын
Возможно delete nums[0] нужно было написать
@streetms
@streetms Ай бұрын
@@kocunys180 автор не знает, что обращение к памяти, на которую был сделан delete - неопределенное поведение. То есть поведение программы буквально не определено. Число может остаться там, может замениться на другое число, а может и вообще программа упадет
@titov_ev
@titov_ev 11 ай бұрын
Как расходуется память? Мы к примеру указали что указаль будет ссылаться на массив интов из трех элементов. Потом когда мы обратились к 4му элементу будет создан еще один массив в дополнение к первому на 3 элемента? Насколько дорога эта операция присоедения еще одного массива из трех элементов к текущему массиву?
@камаифатя
@камаифатя 5 ай бұрын
Классный урок единственное что ввёл всё также как у вас, но всё равно выводится 45 , даже после удаления массива
@ЭльвираСадыкова-э7г
@ЭльвираСадыкова-э7г 5 ай бұрын
Вы запускаете программу где присваиваете переменной nums[0] = 45. После выводила её в терминал программа продолжает работать.вы освобождаете память delete nuns и выводете в терминал стоку El и переменную nums[0] строка El выводится в терминале а переменная nuns нет потому что удалена..программа завершает работу.
@Bucky-game
@Bucky-game 26 күн бұрын
Да, у меня такая же проблема. В интернете нашёл ответ: delete Использование оператора в объекте освобождает память. Программа, которая разыменовывает указатель после удаления объекта, может создать непрогнозируемый результат или вызвать сбой.
@Андрей-у9р7з
@Андрей-у9р7з 10 ай бұрын
так уже никто не создает динамические массивы, более правильный способ: std::vector dynamicArray;
@Rick777a
@Rick777a Жыл бұрын
Динамический массив в с++: 😍😍😘 Динамический массив в с#: 💀💀💀
@nonvexillum
@nonvexillum 6 ай бұрын
Демонический массив*
@horhegarsia4221
@horhegarsia4221 Жыл бұрын
Не очень понял. Разве мы не можем сделать такое? int a = 1; cout
@Kaban4ik-m2f
@Kaban4ik-m2f Жыл бұрын
Он походу сам не понял, о чём говорил. Эта штука с удалениями (по крайнеймере для переменных) осуществляется только в динамической памяти.
@w1rson833
@w1rson833 11 ай бұрын
int* a = new int; *a = 10; cout
@Viktaklik
@Viktaklik 8 ай бұрын
как я понял, звездочку не надо писать, она не относиться к переменной. Если не так, сорри@@w1rson833
@leogscdlr2894
@leogscdlr2894 Жыл бұрын
Не знаю плюсы и могу ошибаться, но вот 8:50 -- в лучшем случае undefined behaviour. Не стоит обращаться к пустому указателю. Хотя new / delete работает иначе в плюсах, чем malloc / free из stdlib.h, я бы так не советовал делать. А еще, думаю, стоило чуть больше времени уделить понятию утечки памяти и рассказать, что стоит Си/СиППшный код чекать статическими анализаторами и valgrind'ом. Иначе вы и с доплатой никому не будете нужны даже на стажировку.
@amid7121
@amid7121 Жыл бұрын
Я не думаю что те кто серьезно хотят заниматься программированием будут учиться только по этому курсу, мне кажется они просмотрят несколько довольно массивных курсов и тех в которых будет информация по их специальности
@myworkdao
@myworkdao Жыл бұрын
@@amid7121 если я хочу начать изучать язык, но через года два-три начать работать (щас мне 15), имеет ли смысл смотреть этот курс, или нет??
@radacom
@radacom Жыл бұрын
@@myworkdao смотреть лучше картины в музее,а работать официантом,там точно язык пригодится.
@Dobryj_Kolya
@Dobryj_Kolya Жыл бұрын
@@myworkdao стоит однозначно! За 2-3 года наберёшься знаний и опыта, а в 18 лет будешь нормально работать)
@Mihail-g9e
@Mihail-g9e Жыл бұрын
Я как истинный сатанист прочитал название как "демоническая память"
@katekap2874
@katekap2874 2 ай бұрын
во второй строке вводится рандомное 10значное число... почему? написана программа точно так же
@ruslanissabekov3323
@ruslanissabekov3323 Жыл бұрын
ЛАЙК ЖДЕМ 9 УРОК
@zirov_tv9959
@zirov_tv9959 Жыл бұрын
Вот у меня проблема,после того как я удалил данные (delete[] nums;) мне потом при cout
@streetms
@streetms Жыл бұрын
Обращение к освобождённым данным - неопределенное поведение программы. Там может лежать абсолютно что угодно
@blackdragon7405
@blackdragon7405 5 ай бұрын
Память освобождается, но значения в ней остаются такими же, пока не будут перезаписаны другими данными. там при выводе разное вывести может или то что элемента нет как у него или как у тебя, если это как-то конфликтует с остальным кодом ошибку вывести может.
@ЭльвираСадыкова-э7г
@ЭльвираСадыкова-э7г 5 ай бұрын
Что у тебя пишет El 45? Или просто El?
@blackdragon7405
@blackdragon7405 5 ай бұрын
@@ЭльвираСадыкова-э7г El 45 а что?
@blackdragon7405
@blackdragon7405 5 ай бұрын
@@ЭльвираСадыкова-э7г El 45
@roiler8115
@roiler8115 Жыл бұрын
Я создал в исходных файлах новый элемент написал там код, а при запуске запускается другой элемент, который тоже в исходных файлах находится. Как это исправить? Помогите пжпжпжпж
@leogscdlr2894
@leogscdlr2894 Жыл бұрын
Лучше раберись с процессом компиляции. Отложи VS и делай всё вручную. Установи компилятор или разберись, с его аргументами командной строки потом пиши в любом редакторе код в некоем файле, а потом этот файл компилируй в ELF/.exe файл. Тогда поймешь, как это происходит и сможешь VS под себя настраивать, включая сборку проекта.
@AndriiTurchynRieltorDnipro
@AndriiTurchynRieltorDnipro Жыл бұрын
дякую++
@lol-q1v
@lol-q1v Жыл бұрын
не понял смысле динамики. ну и зачем?
@ProdbyPutya
@ProdbyPutya Жыл бұрын
Прикинь ты создаёшь игру у тебя там миллионы переменных и бывает что надо бы избавиться от них пример у тебя 3 переменные Опыт персонажа Опыт с получения 1 контракта Опыт получения 2 контракта ты выполнил 1 квест, и тебе переменная не нужна больше, а данные можешь просто поменять, и теперь у тебя будет так. Опыт персонажа + опыт получения с 1 контракта (но это всего лишь 1 переменная теперь ты просто старое поменял на новое) 0 - очищенная память (ты удалил эту память т к ты выполнил квест, и тебе эта инфа (сколько надо дать за квест) не нужна) Опыт с получения 2 контракта П.С думаю я смог объяснить зачем они тебе нужны на наглядном примере в индустрии С++ разработчика в играх
@streetms
@streetms Жыл бұрын
Зачем ты говоришь о том, в чем абсолютно не разбираешься? 1) все переменные уничтожаются после выхода из текущей области видимости (за пределы фигурных скобок, внутри которых переменная была создана) 2) при запуске программы уже выдается ей какое-то количество памяти(пара мегабайт), и созданные переменные не потребляют дополнительно память. Большие массивы создаются динамически из-за того, что выделенная по дефолту память быстро закончится 3) ничего нет в памяти... Бред полный. Память никуда не девается. После вызова delete, память просто возвращается во владение операционной системы(и то не сразу), но реально никто ничего не удаляет 4) обращение к элементу за пределами массива - неопределённое поведение. Там может лежать что угодно. Можно даже собственные данные так перетереть 5) не совсем по теме данного видео. НИКОГДА не пишете using namespace std вот так... Пространства имён были придуманы не для того, чтоб на них вот так забили. Если вы так напишете в реальном проекте - вас будут пинать, и будут совершенно правы
@tuldae
@tuldae Жыл бұрын
Привет! А как правильно писать using namespace std? Или если его писать то программа может работать некорректно?
@TSlex
@TSlex Жыл бұрын
@@tuldae это по аналогии с питоновским "from blabla import *", так лучше не делать (практически никогда), тут аналогично, просто писать std::блабла
@streetms
@streetms Жыл бұрын
@@tuldae , лучше так вообще не писать. Могут возникнуть конфликты имен(в разных библиотеках могут быть функции с одинаковым именем и сигнатурой). Если уж хочется писать, то только не глобально. Можно написать внутри функции или класса, но тоже такое себе. Да, если в проекте используется только стандартная библиотека, ничего плохого не будет, но всё равно так писать не стоит(плохая привычка, от которой потом придётся избавляться) И да, если возникает ошибка связанная с using namespace std, компилятор выдаёт нечитаемый бред и очень сложно догадаться, почему именно какая-то функция не вызывается, так что лучше написать лишние три символа, чем потом искать ошибку, которая может возникнуть максимально неожиданно
@NeR1cH
@NeR1cH Жыл бұрын
ребята ктото может мне придумать дз за 8 курсов пж ато я не могу придумать
@kempsonika6516
@kempsonika6516 Жыл бұрын
вот тебе задача сам придумал ток курс начал изучать сделай калькулятор рандомных чисел все было в прошлых уроках
@kempsonika6516
@kempsonika6516 Жыл бұрын
я сейчас сам сделал если что пиши скину я ток в инете глянул потому что хотел что бы рандомно выбирался знак выражения
@Memesvideo-dj8xw
@Memesvideo-dj8xw 4 ай бұрын
всем советую первый язык выучить питон так как в нем база всех языков и он легче
@streetms
@streetms Ай бұрын
максимально плохой совет. База она везде одинакова(циклы, условия, массивы, функции). Проблема питона в том, что он слишком сахарный и люди пишут решения в одну строку кода, вообще не понимая того, что именно она делает. Это не является чем-то плохим, но при обучении программированию эти возможности только мешают
@aspectr69
@aspectr69 Жыл бұрын
зачем писать неправильный вариант, удалять и потом писать правильный? Столько информации впустую, можно же урок запланировать, а так ощущение будто на ходу рассказываете и куда то спешите
@dirojugod
@dirojugod 11 ай бұрын
Че ты несешь, алкаш?
@Ghko100
@Ghko100 Жыл бұрын
Что за группа у вас вконтакте. Вы на Рашистов пашете? В бан ваш канал +жалобы. Много жалоб.
@mikhailmaliukin1180
@mikhailmaliukin1180 Жыл бұрын
а что там?
@ВячеславОрлов-л1с
@ВячеславОрлов-л1с Жыл бұрын
​@@mikhailmaliukin1180 сам факт существования канала в ВК, видимо
@universal6347
@universal6347 Жыл бұрын
а тебе кто на русском писать разрешил ?
@Penhavor
@Penhavor 11 ай бұрын
​@@universal6347сигма
@nonvexillum
@nonvexillum 6 ай бұрын
А в чём дело?
Изучение C++ для начинающих / #9 - Работа со строками и символами
10:31
Школа itProger / Программирование
Рет қаралды 85 М.
Изучение C++ для начинающих / #7 - Массивы данных (одномерные и многомерные)
26:09
요즘유행 찍는법
0:34
오마이비키 OMV
Рет қаралды 12 МЛН
Who is More Stupid? #tiktok #sigmagirl #funny
0:27
CRAZY GREAPA
Рет қаралды 10 МЛН
Изучение C++ в одном видео уроке за час!
1:14:33
Гоша Дударь
Рет қаралды 831 М.
Собеседование Junior C++
45:32
Ambushed Raccoon
Рет қаралды 125 М.
4 года в разработке видеоигр | Заработок с игр | Gamedev
5:51
UniDevels - мир разработки игр
Рет қаралды 11 М.
Изучение C++ для начинающих / #6 - Циклы и операторы в них (For, While, Do While)
21:15
Школа itProger / Программирование
Рет қаралды 169 М.
Изучение C++ для начинающих / #12 - Указатели и ссылки
23:04
Школа itProger / Программирование
Рет қаралды 80 М.
Изучение C++ для начинающих / #14 - Структуры данных
12:54
Школа itProger / Программирование
Рет қаралды 56 М.
Всё об указателях в C++ за 20 минут
20:00