new c++ что это. new c++ пример. c++ new delete. delete c++ что это. delete c++ пример. Урок #53

Поділитися
Вставка
  • Опубліковано 13 січ 2025

КОМЕНТАРІ • 214

  • @ДаниилНепелев-н4х
    @ДаниилНепелев-н4х 2 роки тому +76

    Этими курсами вы сделали невероятный вклад в появление на свет всё большего и большего количества юных, и не очень программистов

  • @frex.arizona
    @frex.arizona 2 роки тому +23

    Я начинал проходить курс с другом он уже с 14 курса он бросил ,а я до сих пор прохожу курс проходили почти 1 млн а теперь 131 тыс

  • @kaisaryerdenbekov1588
    @kaisaryerdenbekov1588 6 років тому +118

    Забыл, вернулся, вспомнил.

  • @Stud_Soc
    @Stud_Soc 7 років тому +137

    Спасибо большое.
    Что бы я делал без ваших уроков)

    • @SimpleCodeIT
      @SimpleCodeIT  7 років тому +11

      Пожалуйста! =)

    • @CaytoCatugawa
      @CaytoCatugawa 5 років тому

      @@SimpleCodeIT , pa.delete - удаляет данные которые находились в выделенной new памяти, но сама память выделенная под указатель pa осталась ? Сам указатель (в данном случае 4 байта ?) тоже надо удалять ?

    • @hdfroggit3051
      @hdfroggit3051 4 роки тому +3

      @@CaytoCatugawa если я не ошибаюсь, память под указатель, выделилась в функции main. После закрытия программы оно удалиться само

    • @Crazygaz77
      @Crazygaz77 3 роки тому +1

      @@SimpleCodeIT Теперь меня мучает вопрос, по поводу окошка "Средства диагностики" Можно ли там посмотреть что происходит с памятью во время отладки? И второй как эти панели нормально настроить? У меня они прыгают как хотят =)

    • @hollygreen8663
      @hollygreen8663 2 роки тому

      почему delete удаляет данные в хипе без операции разыменования - delete *pa; ?

  • @spartv1537
    @spartv1537 4 роки тому +149

    С++ Делает из человека чистюлю.

    • @sleepyNovember_project
      @sleepyNovember_project Рік тому +8

      В зависимости от человека может сделать и грязнулю))

  • @АртурСеферов-ш5х
    @АртурСеферов-ш5х 3 роки тому +21

    Классный препод. Один из лучших. Объясняет все на практике и все понятно. Респект

  • @ВасилийХурса-ш7ъ
    @ВасилийХурса-ш7ъ 7 років тому +104

    Лучшие уроки, которые я видел! Сделайте урок на тему разницы между new и malloc, delete и free. И еще если можно как правильно настраивать стек и кучу для программы.
    Спасибо большое за такие классные уроки!

    • @tmdan91
      @tmdan91 6 років тому +34

      malloc и calloc - это конструкции языка С. new - это конструкции языка С++. По сути они одну и ту же задачу выполняют

    • @andreyvolkov3117
      @andreyvolkov3117 4 роки тому +4

      @@tmdan91 спасибо!

  • @Electromagnetic-Charge
    @Electromagnetic-Charge Рік тому +2

    Сергей спасибо Вам за уроки, это даже хорошо, что С++ не убирает оставшийся мусор... Сам вводишь нужный объём оперативной памяти и сам от всего избавляешься. Может кому-то это и не нравится, а по мне - это даже к лучшему. Чувствуется, что человек - создатель компьютерной сферы и её хозяин...

  • @Xack3r
    @Xack3r 11 місяців тому +4

    Как мне кажется дойдя до сюда вам уже хватит знаний написать какой-то проект чтобы закрепить все приведушие уроки как пример я написал крестики нолики для 2-их каждый ходит по очереди, это заняло 200 строк кода

  • @ВадимДобрынин-е9э
    @ВадимДобрынин-е9э 2 роки тому +5

    Доброго времени суток, Сергей) Сейчас просматриваю Ваш курс (невероятно крутой). Добрался до этого урока. Есть некоторое сомнение в Вашем объяснении касательно кучи. У Вас сказано, что куча лежит в оперативе (вне процесса программы), а доступ к ней осуществляется из процесса (посредством указателей). Здесь немного не так. Куча - это область данных внутри процесса и при динамическом выделении памяти мы занимаем как раз таки эту область. Если не хватает кучи, выделенной ОС на процесс, ОС предоставляет ещё кучи(я так понимаю за счёт расширения процесса). Если ошибаюсь, поправьте пожалуйста. p.s. Большой фанат данного курса=)))

  • @archiechellaut9483
    @archiechellaut9483 3 роки тому +5

    Большое спасибо вам за урок и прекрасное пояснение, Сергей!

  • @jojopko_dev
    @jojopko_dev 4 роки тому +31

    всё меньше людей прохот данный курс. Начинали с 700т, теперь 47т. Круто)

    • @indeec9538
      @indeec9538 4 роки тому +4

      нам только лучше

    • @jojopko_dev
      @jojopko_dev 4 роки тому

      @@indeec9538, интересное мнение) я ушёл с ~60. Решил продолжить книгами

    • @bocik2854
      @bocik2854 4 роки тому +2

      @@jojopko_dev посоветуй киженции)

    • @ded6691
      @ded6691 4 роки тому

      @@bocik2854 Согласен

    • @ВладиславМаксимов-р5х
      @ВладиславМаксимов-р5х 3 роки тому

      @@jojopko_dev какие книги прочел?

  • @dml1207
    @dml1207 7 років тому +10

    Спасибо за отличные уроки!

  • @программирование-з6н

    скилл рисования растет с каждым уроком( ̄︶ ̄)↗

  • @SimpleCodeIT
    @SimpleCodeIT  7 років тому +18

    #new #delete #SimpleCode #урокипрограммирования

    • @АлександрИбраимов-п3р
      @АлександрИбраимов-п3р 6 років тому +7

      попробуй закинуть этот курс на платформу Stepik. Ты лучше объясняешь чем многие программисты из Яндекс, Computer Science Center и тд

    • @АлександрИбраимов-п3р
      @АлександрИбраимов-п3р 6 років тому +6

      Все участники этих курсов мечтают о таком преподавателе

    • @greatskydrake9531
      @greatskydrake9531 4 роки тому

      простите, нужно ли использовать delete если я не использовал new, а только объявлял переменные ?

    • @kadencode5347
      @kadencode5347 2 роки тому

      @@greatskydrake9531 не нужно

  • @ДимДимыч-ц1в
    @ДимДимыч-ц1в 3 роки тому +5

    0:38 - Как работает оперативная память при объявлении переменной?
    2:55 - Как запросить ячейку в оперативной памяти указателем?
    7:23 - Как удалить указатель?

    • @ilnev3738
      @ilnev3738 3 роки тому

      Спасибо

    • @asano3766
      @asano3766 3 роки тому +4

      удаляем не указатель, а данные в запрошенной ячейке оперативной памяти, на которую он указывает. Сергей же добавил, что указатель продолжает "видеть" адрес ячейки

  • @mihas1106
    @mihas1106 5 років тому +6

    ОГРОМНЕЙШОЕ СПАСИБО👍

  • @nikitasobur8011
    @nikitasobur8011 Рік тому +2

    Большое спасибо за всю серию уроков в целом и за этот урок в частности! Плейлист все еще по прежнему актуален в 2023! году. Запускал +- что-то похожее в своей Visual Studio Code. Пока что озадачен тем, почему после удаления с помощью оператора delete указателя и последующего вывода адреса, на который он ссылается и значения, которое лежит по этому адресу в консоль выводится тот же адрес и то же самое значение, получаемое при разыменовании указателя, которые были ДО удаления указателя (работаю на ОС Windows 10). Точнее сказать, понятно почему адрес не поменялся, но почему вместо 10 не появился мусор (если что я не забыл скомпилировать заново программку)?

    • @bobzihno8721
      @bobzihno8721 Рік тому

      у меня такая же проблема, вы решили свою проблему? если да то поделитесь как

    • @sleepyNovember_project
      @sleepyNovember_project 7 місяців тому +1

      ​@@bobzihno8721возможно оно работает немного не так как мы думаем, то есть:
      Не сразу удаляется значение по адресу
      delete просто открывает доступ для записи по этому адресу всем другим прогам и процессам, значение остаётся по этому адресу, и его уже может перезаписать любая другая программа
      А до delete по этому адресу другие проги не имеют доступ туда, он зарезервирован нами

  • @math1560
    @math1560 4 роки тому +2

    Спасибо Вам большое за такие понятные,и крутые уроки!

  • @Ermine882
    @Ermine882 7 років тому +12

    Спасибо.

  • @77Mrconstantin
    @77Mrconstantin 3 роки тому +2

    Учу язык Си с нуля. Дошёл до динамического выделения памяти. В моём учебнике автор решил использовать оператор new вместо malloc. Автор написал что так будет удобнее. В статье про оператор new я так же прочитал что он имеет ряд приемуществ по сравнению с malloc. А с помощью ваших роликов я закрепил данный материал. Спасибо .

    • @Imgui_seller
      @Imgui_seller 2 роки тому

      Как успехи?:D

    • @ТупаБатя
      @ТупаБатя 2 роки тому

      @@Imgui_seller ,а как твои успехи?

    • @frazismert3071
      @frazismert3071 2 роки тому

      @@ТупаБатя а как твои?

    • @MalannoMori
      @MalannoMori Рік тому

      ну а твои то как успехи?@@frazismert3071

    • @Zodarg
      @Zodarg Рік тому

      ​@@frazismert3071а твои то как?

  • @chill4197
    @chill4197 2 роки тому +1

    Спасибо, друг

  • @polmesh2057
    @polmesh2057 2 роки тому

    Благодарю. Прекрасная работа

  • @L1mit_top99
    @L1mit_top99 Місяць тому

    Учу с++ , помимо книг огромные шаги в обучении.
    Спасибо :)

    • @stonker8470
      @stonker8470 10 днів тому

      Привет ,какие книги читаешь по плюсам? Я чуть читал "Изучаем с++ через программирование игр"

  • @КириллСафронов-о9д
    @КириллСафронов-о9д 2 роки тому +1

    Cпасибо!🥰

  • @DmytroPozniakov
    @DmytroPozniakov Рік тому

    Спасибо большое за ваш труд!)

  • @Ms001man
    @Ms001man 6 років тому +1

    Спасибо за урок.

  • @afonlyi
    @afonlyi 6 років тому +4

    Огромное спасибо!!!!!!!!!!!!

  • @bricks4694
    @bricks4694 4 роки тому

    Во время исполнения программы, когда исполнение доходит до строчки удаления, происходит краш программы

  • @bulba1995
    @bulba1995 2 роки тому

    Спасибо большое за ваш труд, шикарный контент.

  • @СтасюкАдран
    @СтасюкАдран 7 років тому +10

    спасибо помогло

  • @std4042
    @std4042 7 років тому +6

    Спасибо.)

  • @sankarshanarama6753
    @sankarshanarama6753 2 роки тому

    Серёжа, ты самый крутой!!

  • @Evgeny..
    @Evgeny.. 4 роки тому

    Спасибо за урок!

  • @TheWladberlin
    @TheWladberlin 4 роки тому

    Спасибо. Принял. Помогает.

  • @Bear_Baloo
    @Bear_Baloo 2 роки тому +2

    Всё здорово. Повествование на 5 с +. Но пока совершенно не понятно как применить накопленные знания за 50+ уроков.

  • @blackoldont6426
    @blackoldont6426 Рік тому

    Классно! Сделай видео про volatile.

  • @АртурГребешков-к6ж
    @АртурГребешков-к6ж 6 років тому +3

    Спасибо!

  • @Gta-sm6xc
    @Gta-sm6xc 4 роки тому

    очень классные видео ,как будут деньги обезательно кину на печеньку

  • @coder1012
    @coder1012 6 років тому +4

    Здравствуйте дорогой учитель, я всегда смотрю ваши видео уроки по C++, вы всегда все четко и понятно объясняете, и я хотел бы спросить, для чего нужен библиотека time.h и чем он отличается от библиотеки ctime?
    И еще один вопрос: зачем нужен вывод "printf" в с++? и чем он отличается от cout?

    • @nailtagiyev6340
      @nailtagiyev6340 6 років тому +7

      это одно и тоже. time.h и ctime это одно и тоже. Просто time.h используют в С, а ctime в С++. С printf и cout также. Printf в С, а cout в С++

    • @BadDanFeeds
      @BadDanFeeds 5 років тому +18

      Rocer shot во многом прав:
      Действительно, для использования стандартных библиотек C в C++ не нужно писать ".h" в имени файла (хотя можно), нужно добавлять в начало имени букву 'c'. И больше никаких отличий.
      Но вот по поводу "printf" и "scanf" в C++ у меня есть замечания. Опять же, тут как в случае с библиотеками: "printf" и "scanf" - это функции языка C, но в C++ их так же можно использовать, только у них есть некоторые отличия от "плюсовых" "cout" и "cin". Отличия как в функционале, так и в синтаксисе. Для простых задач, конечно, проще использовать "cout" и "cin", но вот если нам надо, например, задать количество выводимых цифр в вещественном числе, то "cout" тут не силён. Вот пример, нам нужно ввести вещественное число (допустим, это будет 15.26479), а затем вывести его в формате 0000.00, то есть добавить незначащие нули перед числом, а после запятой вывести две цифры:
      {
      double var;
      cin >> var; //в вводе числа нет ничего необычного, поэтому используем "cin"
      cout

    • @Артём-р1ь7ф
      @Артём-р1ь7ф 5 років тому +3

      @@BadDanFeeds уже несколько раз здесь читаю ваши комментарии. Годно, очень годно

    • @BadDanFeeds
      @BadDanFeeds 5 років тому +2

      Спасибо, я стараюсь помогать другим)

    • @Артём-р1ь7ф
      @Артём-р1ь7ф 5 років тому

      @@BadDanFeeds это хорошо, что ты помогаешь другим.Тогда обьясни эту запись и по возможности напиши как её можно расписать *( *( p = new double* ) = new double ) = 2;

  • @mr.warpunch6007
    @mr.warpunch6007 3 роки тому

    Годный ролик, качественный контент!

  • @cd_rom12
    @cd_rom12 3 роки тому

    Джедаи говорят тебе спасибо!

  • @roflstea3394
    @roflstea3394 5 років тому

    Благодарочка сэр

  • @wasony.126
    @wasony.126 4 роки тому +1

    👍👍👍

  • @antop6918
    @antop6918 3 роки тому

    Серега, я готов начинай

  • @ГусейнСалахов
    @ГусейнСалахов 5 років тому

    Удачи в развитии канала и спасибо за лайк)))

  • @СашаКушнр-д9ы
    @СашаКушнр-д9ы 4 роки тому +2

    Здраствуй Сергей, ответь если прочитаешь: можно ли выделять динамическую память для двухмерного массива внутри класса

  • @СергейАдекватный
    @СергейАдекватный 4 роки тому +5

    А я-то думал почему компилятор ругается на мою переменную new .

  • @chelovechek7773
    @chelovechek7773 8 місяців тому

    👍

  • @aln9391
    @aln9391 6 років тому

    Расскажите пожалуйста о борьбе с фрагментацией памяти.

  • @OleksandrHlushchuk
    @OleksandrHlushchuk 4 роки тому +7

    У меня 2019 студия, и там после операции delete адрес не остается тот самый, а становится 00008123. Почему так?

    • @Эмир-и9л
      @Эмир-и9л 4 роки тому +9

      Это зависит от настроек SDL. Скорее всего у тебя по пути "ПРОЕКТ -> Свойства -> Свойства конфигурации -> C / C ++ -> Общие -> Проверки SDL " стоит Да (/sdl)

  • @ЯрославГоловко-ф6и

    спасибо

  • @zidox935
    @zidox935 7 років тому +3

    Уроки просто суперские :D
    Скажи, а будешь ли ты делать такие видео-уроки на winapi, работа с файловой системой? и.т.д =)

    • @SimpleCodeIT
      @SimpleCodeIT  7 років тому +2

      На счёт winapi пока не уверен, а работа с файлами позже будет.

    • @zidox935
      @zidox935 7 років тому +3

      Будет полезно разобрать: Директивы #define, #ifdef и #ifndef Сделай видос =)

    • @crackall1946
      @crackall1946 4 роки тому +1

      @@SimpleCodeIT здравствуйте, пожалуйста, сделайте в будущем уроки по Qt или же по windows.h

    • @SaffronChipMCPE
      @SaffronChipMCPE 4 роки тому +1

      @@crackall1946 чувак, если захочет - сделает. Человек тебе бесплатно и максимально понятно объясняет темы, этого уже много. Хватит пользоваться добротой чужой

    • @mtfunit1301
      @mtfunit1301 3 роки тому

      @@SaffronChipMCPE какие он темы объясняет? Он просто справочник читает...

  • @oxygenoxygeno
    @oxygenoxygeno 3 роки тому +1

    Подскажите пожалуйста как очистить полностью динамическую память

  • @АлександрНекрасов-ч8г
    @АлександрНекрасов-ч8г 10 місяців тому

    как в visual studio community сделать так, чтобы знак указателя *стояла ближе к названию переменной?? у меня наоборот и не могу найти как это изменить.

    • @sleepyNovember_project
      @sleepyNovember_project 7 місяців тому

      Лучше привыкни к этому, потому что это правильно

  • @alexeymi2618
    @alexeymi2618 6 років тому

    Спасчебо :3

  • @blackarrow7171
    @blackarrow7171 4 роки тому +2

    Почему мы используем именно указатель а не обычный инт?

    • @МаринаЗиновьева-п5ы
      @МаринаЗиновьева-п5ы 3 роки тому

      Обычный int выделяется внутри области памяти, занятой самой программой. Указатель же может ссылаться на ячейку, лежащую за пределами области памяти, занятой программой (поэтому и называется "динамическая" память, то есть вне области программы).

    • @Сергей-т9д7в
      @Сергей-т9д7в 3 роки тому

      Компилятор знает все наши переменные, и память под них изначально выделена.

    • @VadimLorelei
      @VadimLorelei 3 роки тому

      @@Сергей-т9д7в компилятор знает не все переменные, например когда нужно выделить массив, длину которого узнаем уже в процессе работы программы

    • @ДмитрийНормов-ю6ц
      @ДмитрийНормов-ю6ц 2 роки тому

      @@МаринаЗиновьева-п5ы , вы спец по С++?

    • @princessmary5556
      @princessmary5556 Рік тому

      @@ДмитрийНормов-ю6ц Вы разве не поняли, что она чушь написала?

  • @s1lentgrave
    @s1lentgrave 4 роки тому

    4:30 разве разыменование делается звёздочкой *? а амперсанд & для чего?

    • @hotabmax6431
      @hotabmax6431 4 роки тому

      Danil Gorshnev
      В предыдущих видео есть

    • @s1lentgrave
      @s1lentgrave 4 роки тому

      @@hotabmax6431 я понял, что перепутал с разадресацией, забыл исправить, сорян

    • @hotabmax6431
      @hotabmax6431 4 роки тому

      Это синтаксис языка. Когда объявляешь указатель *pa то указываемый fhuevtyn берётся в &, а если указывается динамическая память то без амперсанда.

    • @s1lentgrave
      @s1lentgrave 4 роки тому

      @@hotabmax6431 спасибо)

  • @buddha5089
    @buddha5089 6 років тому

    Toп спасибо

  • @hhhannahmmmontana
    @hhhannahmmmontana 6 років тому

    оч годно)

  • @Xsen0n_1
    @Xsen0n_1 2 роки тому

    Интересно а это можно использовать в функции?

  • @grutgrut6486
    @grutgrut6486 11 місяців тому

    почему delete pa , а не *pa ??? *pa(10) -это же интовая переменная и она дожна удалятся, просто pa это адрес в памяти , значит должен был затерется адрес , а не значение ячейки 10

  • @Riderwin
    @Riderwin 7 років тому +1

    гуд

  • @ИНФОРМАЦИЯДЛЯУСПЕШНЫХ

    Спсб

  • @alexgaran5339
    @alexgaran5339 4 роки тому +1

    По сути через неконтролируемый цикл счетчика можно забить память компьютера?

    • @apxntektop3236
      @apxntektop3236 4 роки тому +4

      Да, проверил, можно. Куча ошибок, и вообще жесть происхоидт.

  • @crist2000a
    @crist2000a 2 місяці тому

    после .net трудно представить, зачем переменную int нужно создавать в куче. А действительно, зачем?

  • @giorgikiladze3230
    @giorgikiladze3230 6 років тому

    genialno

  • @ЕвгнийСахаров
    @ЕвгнийСахаров 2 роки тому

    Сергей, здравствуйте!
    Не правильно понял задание дз но теперь уже страшно интересно: как сделать правильно шаблон и функцию которая меняет местами абсолютно два любых значения (например string и double) . Я пытался сделать
    template
    void foo(T1 &a, T2 &b, T3 *c = nullptr)
    {
    *c = a;
    a = b;
    b = *c;
    }
    но не даёт скомпилировать foo(a, b); , пишет что не хватает аргументов
    P.S.пробовал другие варианты тоже не получается (((

    • @GenCrypto1
      @GenCrypto1 Рік тому

      2 одинаковых вида памяти нужно

  • @cheatack2141
    @cheatack2141 3 роки тому

    Да блин, самое интересное на следующий урок оставил

  • @YA-bq1gf
    @YA-bq1gf 6 років тому

    а если в отладчике после (шага) ну красные буквы не появились про проходе (делит) , значит не удалилось?

  • @АлексейКоршак-ш9н

    не удаётся запустить программу "адрес" не удаётся найти указанный файл. В релизе удалось разок запустить , но потом тоже самое начало писать.
    В чем причина, подскажете?

  • @АнтонПодвіянюк

    что самое плохое может случиться если написать следующий код ?
    int* ptr = new int;
    long long i = 0;
    for(;;)
    {
    *(ptr + i) = 5;
    i ++;
    }

  • @ярик-г1в
    @ярик-г1в Місяць тому

    а чего так просмотров мало стало ?)

    • @lstarbox3765
      @lstarbox3765 23 дні тому

      смотрю вторую неделю дошел до этого урока, началось то, что все время отвлекают, и совсем не остаётся времени, а след день хочется отдохнуть, боюсь так и интерес потеряю :( , это будет не хорошоо

  • @antoniopripizduchi858
    @antoniopripizduchi858 2 роки тому +1

    Симпл код: C++ не имеет сборщика мусора и когда-то оперативная память просто закончится и наша программа просто помрёт
    Я, после того как это услышал:
    while (true) {
    new int;
    }

  • @drewdzzz
    @drewdzzz 7 років тому +3

    А что делать, если я забуду написать delete, а программу закончу. Как убрать динамическую память?

    • @SimpleCodeIT
      @SimpleCodeIT  7 років тому +7

      Операционка почистит сама.

    • @princessmary5556
      @princessmary5556 Рік тому

      Никак. Большинство типичных ОС автоматически подчищают за процессом. Однако в общем случае никто этого не гарантирует. Вполне возможно, что на какой нибудь экзотической ОС произойдет утечка ресурсов.

  • @АндрейКузьменко-э9е
    @АндрейКузьменко-э9е 8 місяців тому

    Почему у меня после очистки данных указатель меняет адрес?

  • @avage04
    @avage04 6 років тому +1

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

    • @medef8253
      @medef8253 6 років тому +3

      Краш, либо просто не запустится игра

    • @SaffronChipMCPE
      @SaffronChipMCPE 4 роки тому

      Ну, наверноес п*сда твоему компу, можешь выкидывать

    • @mhc180
      @mhc180 Рік тому

      Кроме фризов и перезагрузки пк, ничего хорошего ты не увидишь

  • @iMarcusin
    @iMarcusin 3 роки тому

    За собой нужно убирать)

  • @4etvero4ka90
    @4etvero4ka90 3 роки тому

    int &X = *new int;
    X = 4;
    А как же такой пример? Как по мне он лучше.. Просто меня бы раздражало по кд писать *X что бы присвоить значение и так наверно код будет ещё более оптимизированнее с моим примером.. Правда это смотря какой код..

    • @4etvero4ka90
      @4etvero4ka90 3 роки тому

      Ага, правда теперь при удалении придётся писать &X..: delete &X;

    • @Сергей-т9д7в
      @Сергей-т9д7в 3 роки тому

      Сказано же, что выделяют обычно под массивы, а наши массивы и являются указателями, где звёздочки не нужны.
      К тому же ссылку нельзя переназначить для других целей, а указатель можно.

  • @bogdns
    @bogdns 3 роки тому +1

    Почему я должен дважды указывать тип данных int *pa = new int?

    • @Сергей-т9д7в
      @Сергей-т9д7в 3 роки тому

      Системе нужно знать, сколько памяти запрашивается. Мы и говорим ей "дай память под переменную инт" т.е. 4 байта

    • @bogdns
      @bogdns 3 роки тому

      Сергей, а если я под переменную int захочу выделить память 4 байта float?

    • @Сергей-т9д7в
      @Сергей-т9д7в 3 роки тому

      @@bogdns Скорее всего компилятор будет ругаться о несовпадении типов данных.

    • @Сергей-т9д7в
      @Сергей-т9д7в 3 роки тому

      @@bogdns системе то все равно, что мы там храним, ей главное размер знать, а компилятору важно - он же следит, чтобы мы не путались в собственных переменных.

    • @ДильбарМухамедова-щ3я
      @ДильбарМухамедова-щ3я Рік тому

      Потому что слова Тарелька и Вилька пишутся без мягкого знака а Кон с мягким знаком.

  • @ЕгорСтрахов-я9ю
    @ЕгорСтрахов-я9ю 6 років тому

    я так и не понял, зачем нужен этот new int и delite))) типо для быстродействия проги и экономии памяти, так что-ли?))

    • @ЯрославАлмазов-н1к
      @ЯрославАлмазов-н1к 5 років тому

      new int по факту создание динамического массива, delite для удаление данных с памяти - ты пишешь программу используя динамичны массив все закончилась его роль в каком то участке кода и ты переходишь к второму этапу или части кода и от что бы у тебя не было засраной памяти старыми данными ты пишешь delite, и делаешь дальше свои дела если не напишешь у тебя автоматом очистит когда закроешь программу, но это не вариант если ты работаешь в компании по созданию игр, потому что у тебя будет код не на 100-200 строчек а на тысячи по этому и объем памяти у тебя будет уходить на много больше по этому тебе прийдется не забывать писать delite что бы не сломать прогу и за не хватки памяти, как то так

    • @iii-mk7no
      @iii-mk7no 5 років тому +1

      По сути нужен для того чтобы, выделить память для какойто ресурсоемкой задачи. Либо в том месте программы, где заранее не знаешь сколько памяти надо, а потом по ходу выполнения уже выделить нужный объем. А делит чтобы эту память просто освободить, когда она уже не нужна.

    • @ДмитрийНормов-ю6ц
      @ДмитрийНормов-ю6ц 2 роки тому +1

      @@ЯрославАлмазов-н1к только delete а не delite

  • @yellowmoonishka1725
    @yellowmoonishka1725 2 роки тому

    Ths

  • @Kokurorokuko
    @Kokurorokuko 5 років тому

    Такой вопрос: в каком случае нам понадобится выделять дополнительную память?

    • @iii-mk7no
      @iii-mk7no 5 років тому +4

      Все зависит от программы которую пишешь. Ты пишешь чит типо Читэнжин. После отсеевания значений их надо гдето хранить. Ты же не знаешь сколько они займут памяти если хранить статически? Наверное нет. Поэтому ее проще выделить для конкретной задачи. Может и плохой пример, но как то так.

    • @Kokurorokuko
      @Kokurorokuko 5 років тому

      Но когда ты пишешь программу, ты же всегда можешь вернуться в код и выделить статически память.

    • @iii-mk7no
      @iii-mk7no 5 років тому +4

      @@Kokurorokuko Это так скажем я привел пример для уже готового решения. Или например тебе надо сделать матрицу. А размер вводит пользователь. Соответсвено лучше выделить память динамически, чем писать костыли.

    • @Kokurorokuko
      @Kokurorokuko 5 років тому

      Окей, спасибо

    • @kadencode5347
      @kadencode5347 2 роки тому +1

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

  • @nikswir
    @nikswir 4 роки тому

    Ребят, почему у меня на xcode после оператора delete при выводе переменной все равно выводится прошлое значение?

    • @princessmary5556
      @princessmary5556 Рік тому

      потому что после оператора delete данное значение никто пока ещё не изменил

  • @ИльяКрупко-ф9н
    @ИльяКрупко-ф9н 2 роки тому

    Почему после использования delete я все ещё могу получить доступ к значению???

    • @princessmary5556
      @princessmary5556 Рік тому

      Потому что солнышко по прежнему свет. Мир не перевернулся. И память тоже все ещё существует.

  • @Илья-ц4й6в
    @Илья-ц4й6в 6 років тому +4

    9к просмотров, одни программисты развелись....

    • @СерегаЕфремов-ф2х
      @СерегаЕфремов-ф2х 5 років тому

      Хах,видел бы что сейчас твориться))

    • @ubermenschliche1319
      @ubermenschliche1319 5 років тому

      Vinch-Game "Мы программист" против подобных комментариев.

    • @Xenobolus
      @Xenobolus 4 роки тому +2

      Одни программисты? За год? Вы видели, сколько за день набирают видео по типу "Парень обосрался на горке"?

  • @ГеоргийМаргиев-п7ы

    C++ как мама, не убершь мусор - уберут тебя...

  • @Viamsupervadetvadens
    @Viamsupervadetvadens 7 років тому

    up

  • @Miiazzma
    @Miiazzma 3 роки тому

    Помогите плиз(
    Решил попробовать эту вещь а именно:
    int *pa = new int;
    *pa=100;
    Cout

    • @ДмитрийНормов-ю6ц
      @ДмитрийНормов-ю6ц 2 роки тому

      Адель, ты звездочку забыл добавить:
      Delete *pa;

    • @АртёмТ-ь5п
      @АртёмТ-ь5п 2 роки тому

      Та же проблема. Как решил?

    • @АртёмТ-ь5п
      @АртёмТ-ь5п 2 роки тому

      я убрал строчку "setlocale(LC_ALL, "RUS");" и всё сработало, в чём связь?)))

    • @Miiazzma
      @Miiazzma 2 роки тому

      @@АртёмТ-ь5п я пишу на телефоне, хах...
      Поэтому мне не нужно писать селтлокал, а так проблема не решилась, извиняюсь, что такое долгое кд на ответ, перегорел на пол года, сейчас снова вспоминаю все. Вот оказался тут и смотрю мой комент)

    • @bmx9231
      @bmx9231 2 роки тому

      @@Miiazzma с С++ выгорание это норма хаха

  • @ZnZ
    @ZnZ 7 років тому

    Как я понял размер адреса это 4 байт, то есть адрес FFFFFFFF это придел (4 гб оперативки) А если у нас оперативки например 8гб, то какой адрес будет если все адреса до FFFFFFFF будут заняты?

    • @chinpokomon9387
      @chinpokomon9387 7 років тому

      4 байт это размер для данной переменной в int

    • @sabirsafarov8142
      @sabirsafarov8142 5 років тому

      @@chinpokomon9387 указатель тоже весит 4байта

    • @princessmary5556
      @princessmary5556 Рік тому

      @@sabirsafarov8142 Нет никаких "тоже" Стандарт не гарантирует ни размер int, ни размер указателя. На разных платформах они могут быть разными.

  • @lolipoppapipop4458
    @lolipoppapipop4458 4 роки тому

    А зачем в этом уроке надо было подключать библиотеку: string на 2 стр

    • @mathewbal3990
      @mathewbal3990 4 роки тому

      просто так

    • @МаринаЗиновьева-п5ы
      @МаринаЗиновьева-п5ы 3 роки тому

      В данном уроке библиотека string не нужна, видимо, осталась с предыдущих уроков. Тут только iostream нужен.

  • @vitaliizadorozhnyi8101
    @vitaliizadorozhnyi8101 5 років тому +2

    "Память ест". XD

  • @Firuz26
    @Firuz26 7 років тому +6

    Спасибо

  • @firesteel1313
    @firesteel1313 Рік тому

    большое спасибо!

  • @ВоваИвков-б6у
    @ВоваИвков-б6у 5 років тому

    Спасибо!!!

  • @РусланКарнеенко

    спасибо

  • @vladimirdiadichev6140
    @vladimirdiadichev6140 7 років тому +4

    Спасибо

  • @gagikarakelyan6014
    @gagikarakelyan6014 4 роки тому

    Спасибо!

  • @lexcarpenter69
    @lexcarpenter69 3 роки тому

    Спасибо!