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

  Рет қаралды 103,490

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

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

Күн бұрын

Пікірлер: 83
@stinger9811
@stinger9811 Жыл бұрын
Автор, большое спасибо вам за то,что создали этот курс.Да еще и бесплатно. Огромная благодарность вам.
@Charles_Dickens
@Charles_Dickens Жыл бұрын
Так интересно и приятно учится по твоим урокам)
@nightwolf9596
@nightwolf9596 Жыл бұрын
Крутяк, мало того что c++ сам по себе очень быстрый, так его ещё и мощно суперский оптимизировать
@madkosss
@madkosss Жыл бұрын
спасибо за курс, очень интересно
@damircom007
@damircom007 2 жыл бұрын
Круто вышло видос. Жду 9 урок. Удачи в продвижении канала
@роскомнадзор-д8я
@роскомнадзор-д8я Жыл бұрын
0:27 не только в C++, а также и в его предке C но в C это реализовано как отдельная либа и вызывается это как функция, то в плюсах это builtin 0:46 она также нужна в случаях, когда размер массива не обязательно равен x, а может быть равен y, v, r или s то есть например когда надо загрузить в память картинку непостоянного размера 4:50 рассказывать про динамические массивы перед тем как объяснить что такое указатели :D
@Pablo-rk5mo
@Pablo-rk5mo Жыл бұрын
Надушнил
@роскомнадзор-д8я
@роскомнадзор-д8я Жыл бұрын
@@Pablo-rk5mo покажи пятачок, Братишка
@Viktaklik
@Viktaklik 10 ай бұрын
этот бро знает с++ и решил смотреть курс, чтобы до3баться 👌😎😎👌
@SwTLq9
@SwTLq9 3 күн бұрын
@@Viktaklik кто сделал эти видосы, как будто сам плохо знает c++
@dobynda
@dobynda Жыл бұрын
спасибо большое, все классно объяснил, а то я понять никак не мог
@Someone_Game999
@Someone_Game999 2 жыл бұрын
Однозначно круто, молодец!
@Remington-og3tf
@Remington-og3tf Жыл бұрын
Здорово!
@СашаПриходько-щ8ю
@СашаПриходько-щ8ю 5 ай бұрын
Огромное Вам спасибо за курс!!!!
@phonker-ld7ok
@phonker-ld7ok 2 жыл бұрын
полезное видео, спасибо большое
@moscow8881
@moscow8881 2 жыл бұрын
спасибо очень хорошо объясняешь, я всем свои знакомым рекомендую этот ресурс
@SpaceLexaDnepr
@SpaceLexaDnepr Жыл бұрын
Спасибо
@PoloMarco-b5h
@PoloMarco-b5h 3 ай бұрын
Thank you bro 🙂
@камаифатя
@камаифатя 7 ай бұрын
Классный урок единственное что ввёл всё также как у вас, но всё равно выводится 45 , даже после удаления массива
@ЭльвираСадыкова-э7г
@ЭльвираСадыкова-э7г 6 ай бұрын
Вы запускаете программу где присваиваете переменной nums[0] = 45. После выводила её в терминал программа продолжает работать.вы освобождаете память delete nuns и выводете в терминал стоку El и переменную nums[0] строка El выводится в терминале а переменная nuns нет потому что удалена..программа завершает работу.
@Bucky-game
@Bucky-game 2 ай бұрын
Да, у меня такая же проблема. В интернете нашёл ответ: delete Использование оператора в объекте освобождает память. Программа, которая разыменовывает указатель после удаления объекта, может создать непрогнозируемый результат или вызвать сбой.
@Андрей-у9р7з
@Андрей-у9р7з Жыл бұрын
так уже никто не создает динамические массивы, более правильный способ: std::vector dynamicArray;
@titov_ev
@titov_ev Жыл бұрын
Как расходуется память? Мы к примеру указали что указаль будет ссылаться на массив интов из трех элементов. Потом когда мы обратились к 4му элементу будет создан еще один массив в дополнение к первому на 3 элемента? Насколько дорога эта операция присоедения еще одного массива из трех элементов к текущему массиву?
@Rick777a
@Rick777a Жыл бұрын
Динамический массив в с++: 😍😍😘 Динамический массив в с#: 💀💀💀
@nonvexillum
@nonvexillum 8 ай бұрын
Демонический массив*
@Mihail-g9e
@Mihail-g9e Жыл бұрын
Я как истинный сатанист прочитал название как "демоническая память"
@JunkilReduxForever
@JunkilReduxForever Ай бұрын
ДИМАнический
@Mihail-g9e
@Mihail-g9e Ай бұрын
@Spamtonchik_NEO_Spamtonchik год назад...
@leogscdlr2894
@leogscdlr2894 2 жыл бұрын
Не знаю плюсы и могу ошибаться, но вот 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 лет будешь нормально работать)
@horhegarsia4221
@horhegarsia4221 Жыл бұрын
Не очень понял. Разве мы не можем сделать такое? int a = 1; cout
@Kaban4ik-m2f
@Kaban4ik-m2f Жыл бұрын
Он походу сам не понял, о чём говорил. Эта штука с удалениями (по крайнеймере для переменных) осуществляется только в динамической памяти.
@w1rson833
@w1rson833 Жыл бұрын
int* a = new int; *a = 10; cout
@Viktaklik
@Viktaklik 10 ай бұрын
как я понял, звездочку не надо писать, она не относиться к переменной. Если не так, сорри@@w1rson833
@ivan_naitoraito
@ivan_naitoraito 21 күн бұрын
привет, прошел 1 год, сумели разобраться в понятиях динамической и статической памяти?)
@arch6544
@arch6544 8 ай бұрын
9:01, ввел все так же, как и у вас. Но у меня во второй строке так же осталось число 45. В чем может быть проблема ?
@kocunys180
@kocunys180 5 ай бұрын
у меня тоже самое, сижу голову ломаю
@ZabivnoyBanan
@ZabivnoyBanan 4 ай бұрын
Возможно delete nums[0] нужно было написать
@streetms
@streetms 3 ай бұрын
@@kocunys180 автор не знает, что обращение к памяти, на которую был сделан delete - неопределенное поведение. То есть поведение программы буквально не определено. Число может остаться там, может замениться на другое число, а может и вообще программа упадет
@arseniiburkov2331
@arseniiburkov2331 Ай бұрын
9:35 при удалении элементов массива при выводе нулевого элемента появляются какие-то другие огромные числа, с чем это может быть связано(код если что несколько раз перепроверил , но выводит другое). Причем каждый раз как будто рандомно новый элемент выводится
@AndriiTurchynRieltorDnipro
@AndriiTurchynRieltorDnipro Жыл бұрын
дякую++
@zirov_tv9959
@zirov_tv9959 Жыл бұрын
Вот у меня проблема,после того как я удалил данные (delete[] nums;) мне потом при cout
@streetms
@streetms Жыл бұрын
Обращение к освобождённым данным - неопределенное поведение программы. Там может лежать абсолютно что угодно
@blackdragon7405
@blackdragon7405 6 ай бұрын
Память освобождается, но значения в ней остаются такими же, пока не будут перезаписаны другими данными. там при выводе разное вывести может или то что элемента нет как у него или как у тебя, если это как-то конфликтует с остальным кодом ошибку вывести может.
@ЭльвираСадыкова-э7г
@ЭльвираСадыкова-э7г 6 ай бұрын
Что у тебя пишет El 45? Или просто El?
@blackdragon7405
@blackdragon7405 6 ай бұрын
@@ЭльвираСадыкова-э7г El 45 а что?
@blackdragon7405
@blackdragon7405 6 ай бұрын
@@ЭльвираСадыкова-э7г El 45
@roiler8115
@roiler8115 2 жыл бұрын
Я создал в исходных файлах новый элемент написал там код, а при запуске запускается другой элемент, который тоже в исходных файлах находится. Как это исправить? Помогите пжпжпжпж
@leogscdlr2894
@leogscdlr2894 2 жыл бұрын
Лучше раберись с процессом компиляции. Отложи VS и делай всё вручную. Установи компилятор или разберись, с его аргументами командной строки потом пиши в любом редакторе код в некоем файле, а потом этот файл компилируй в ELF/.exe файл. Тогда поймешь, как это происходит и сможешь VS под себя настраивать, включая сборку проекта.
@katekap2874
@katekap2874 3 ай бұрын
во второй строке вводится рандомное 10значное число... почему? написана программа точно так же
@ivan_naitoraito
@ivan_naitoraito 21 күн бұрын
А Разве это динамический массив? У него же конкретное кол-во элементов указано при создании [3]. Это же не std::vector какой-нибудь.
@ruslanissabekov3323
@ruslanissabekov3323 2 жыл бұрын
ЛАЙК ЖДЕМ 9 УРОК
@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, компилятор выдаёт нечитаемый бред и очень сложно догадаться, почему именно какая-то функция не вызывается, так что лучше написать лишние три символа, чем потом искать ошибку, которая может возникнуть максимально неожиданно
@lol-q1v
@lol-q1v Жыл бұрын
не понял смысле динамики. ну и зачем?
@ProdbyPutya
@ProdbyPutya Жыл бұрын
Прикинь ты создаёшь игру у тебя там миллионы переменных и бывает что надо бы избавиться от них пример у тебя 3 переменные Опыт персонажа Опыт с получения 1 контракта Опыт получения 2 контракта ты выполнил 1 квест, и тебе переменная не нужна больше, а данные можешь просто поменять, и теперь у тебя будет так. Опыт персонажа + опыт получения с 1 контракта (но это всего лишь 1 переменная теперь ты просто старое поменял на новое) 0 - очищенная память (ты удалил эту память т к ты выполнил квест, и тебе эта инфа (сколько надо дать за квест) не нужна) Опыт с получения 2 контракта П.С думаю я смог объяснить зачем они тебе нужны на наглядном примере в индустрии С++ разработчика в играх
@Memesvideo-dj8xw
@Memesvideo-dj8xw 6 ай бұрын
всем советую первый язык выучить питон так как в нем база всех языков и он легче
@streetms
@streetms 3 ай бұрын
максимально плохой совет. База она везде одинакова(циклы, условия, массивы, функции). Проблема питона в том, что он слишком сахарный и люди пишут решения в одну строку кода, вообще не понимая того, что именно она делает. Это не является чем-то плохим, но при обучении программированию эти возможности только мешают
@NeR1cH
@NeR1cH Жыл бұрын
ребята ктото может мне придумать дз за 8 курсов пж ато я не могу придумать
@kempsonika6516
@kempsonika6516 Жыл бұрын
вот тебе задача сам придумал ток курс начал изучать сделай калькулятор рандомных чисел все было в прошлых уроках
@kempsonika6516
@kempsonika6516 Жыл бұрын
я сейчас сам сделал если что пиши скину я ток в инете глянул потому что хотел что бы рандомно выбирался знак выражения
@aspectr69
@aspectr69 Жыл бұрын
зачем писать неправильный вариант, удалять и потом писать правильный? Столько информации впустую, можно же урок запланировать, а так ощущение будто на ходу рассказываете и куда то спешите
@dirojugod
@dirojugod Жыл бұрын
Че ты несешь, алкаш?
@100zhko
@100zhko 2 жыл бұрын
Что за группа у вас вконтакте. Вы на Рашистов пашете? В бан ваш канал +жалобы. Много жалоб.
@mikhailmaliukin1180
@mikhailmaliukin1180 Жыл бұрын
а что там?
@ВячеславОрлов-л1с
@ВячеславОрлов-л1с Жыл бұрын
​@@mikhailmaliukin1180 сам факт существования канала в ВК, видимо
@universal6347
@universal6347 Жыл бұрын
а тебе кто на русском писать разрешил ?
@Penhavor
@Penhavor Жыл бұрын
​@@universal6347сигма
@nonvexillum
@nonvexillum 8 ай бұрын
А в чём дело?
Изучение C++ для начинающих / #9 - Работа со строками и символами
10:31
Школа itProger / Программирование
Рет қаралды 91 М.
Леон киллер и Оля Полякова 😹
00:42
Канал Смеха
Рет қаралды 4,7 МЛН
How Strong Is Tape?
00:24
Stokes Twins
Рет қаралды 96 МЛН
How I wrote online shooter on C++ in a week
25:31
Vectozavr
Рет қаралды 1 МЛН
Изучение C++ для начинающих / #10 - Создание функций в языке C++
17:41
Школа itProger / Программирование
Рет қаралды 97 М.
Собеседование Junior C++
45:32
Ambushed Raccoon
Рет қаралды 131 М.
7 Лет Опыта в IT | Что я Понял?
19:56
Vlad Mishustin
Рет қаралды 270 М.
Изучение C++ для начинающих / #7 - Массивы данных (одномерные и многомерные)
26:09
Почему БЫСТРАЯ ЗАРЯДКА быстро заряжает?
12:55
Hi Dev! – Электроника
Рет қаралды 1 МЛН