Указатели c++ что это. Для чего нужны. Указатели c++ разыменование. C++ для начинающих. Урок #46

Поделиться
HTML-код
  • Опубликовано: 13 июл 2017
  • Понравилось видео или оказалось полезным? Подпишись!
    Указатели c++ что это. Для чего нужны. Указатели c++ разыменование. C++ для начинающих. Урок #46
    Если вам нравятся мои уроки, вы хотите поддержать меня и развитие канала, то можете сделать это тут! =)
    www.donationalerts.ru/r/simple...
    или тут
    / simplecode
    Уроки по программированию
    Наша группа ВК smplcode
    Подписывайтесь на канал / @simplecodeit

Комментарии • 396

  • @SimpleCodeIT
    @SimpleCodeIT  6 лет назад +120

    *Друзья, если вы решили изучать программирование и подписались на канал - рекомендую вам нажать колокольчик чтобы никогда не пропускать новые уроки!*

    • @greatskydrake9531
      @greatskydrake9531 4 года назад

      Добрый день. Что означает запись вида "int* a =1" ? На что указывает указатель если он позади типа, а не перед переменной? Такой тип записи часто встречается в литературе, или это просто опечатки?

    • @greatskydrake9531
      @greatskydrake9531 4 года назад +1

      @@Abraham-ce2jt спасибо, я нашел ответ. Это ссылка на тип, устаревшая форма записи. Но в Qt C++ очень популярно (вообще такое ощущение, что Qt это какой-то другой C++), например там необходимы (именно необходимы) вот такие конструкции:
      Хедер:
      QPushButton* btn;
      Реализация:
      QGraphicsProxyWidget* wgt = scene->addWidget(btn);

    • @svvonline1
      @svvonline1 Год назад

      @@greatskydrake9531 Это не ссылка на тип, а классический указатель, проинициаоизирванный значением. "int* a" и "int *a" - это одно и то же.

    • @greatskydrake9531
      @greatskydrake9531 Год назад

      @@svvonline1 да уже неактуально, теперь бы в аллокаторы вьехать

  • @Fragrus
    @Fragrus 3 года назад +855

    Шёл 2024 а более годных уроков на ютубе нет. Спасибо за труд!

    • @QWERTY-lo2db
      @QWERTY-lo2db 3 года назад +6

      вот. Я благодаря ему выучил c++

    • @ElChampi0
      @ElChampi0 3 года назад +5

      @@QWERTY-lo2db тогда расскажи, пожалуйста, зачем это надо делать? Зачем надо лезть в адреса памяти, если это все равно, что играть в русскую рулетку, а результат такой же, как напрямую обращаться к переменной безопасным способом

    • @who-1880
      @who-1880 3 года назад

      @@ElChampi0 Никто не говорил что обязательно учить нужно, но знать стоит.

    • @BS-zu1de
      @BS-zu1de 3 года назад +7

      начало 2021 ситуация не поменялась...(P.S. спасибо Сергею за его труд!))

    • @unrealengineruseng9583
      @unrealengineruseng9583 3 года назад +1

      2021 уже )

  • @user-lb1zt9kp9k
    @user-lb1zt9kp9k 6 лет назад +422

    Вот за такие уроки я готов платить деньги. А вы делаете это бесплатно!
    Спасибо вам огромное. Уроки действительно крутые!
    Большое преимущество в том, что они очень наглядные. Очень!

    • @SimpleCodeIT
      @SimpleCodeIT  6 лет назад +71

      Пожалуйста! Удачи в обучении =)

    • @LenTos1337
      @LenTos1337 6 лет назад +34

      В благодарность автору, можно вместо того, чтоб пропускать рекламу, смотреть её. Он, конечно, не много получит, но если хотя бы половина его зрителей будут смотреть эту рекламу, а не пропускать, это уже здорово бы помогло ему

    • @user-kn5nz8cg9t
      @user-kn5nz8cg9t 5 лет назад +22

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

    • @vladportnov3041
      @vladportnov3041 5 лет назад +1

      @@user-kn5nz8cg9t иногда в начале программы выскакивает

    • @sankarshanarama6753
      @sankarshanarama6753 2 года назад

      @@LenTos1337 не знал) Буду смотреть)

  • @markusssh
    @markusssh 3 года назад +179

    Блин, это в 100 раз лучше, чем лекции в универе. Всё чётко, быстро и наглядно. Всей группой пользуемся вашими уроками. Спасибо за труд!

    • @klimkastiel5788
      @klimkastiel5788 3 года назад +5

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

  • @mishkalife6582
    @mishkalife6582 6 лет назад +75

    Простите, но это оху**ный мужик, идеально все объясняет и показывает, лайк с 3х акков!!!!

  • @SeshAlex
    @SeshAlex 6 лет назад +220

    Что за индивидуумы ставят дизы? Уроки то бесплатны, и преподаватель классный:)

    • @mrrobot-wi3jn
      @mrrobot-wi3jn 4 года назад +30

      @Мой Властелин преподы))

    • @p1c4ss0
      @p1c4ss0 4 года назад +6

      дЫбилы, раз непоняли, то что мой 5-ти летний ребенок, уже понял

    • @Pchel102
      @Pchel102 3 года назад +3

      Те кто смотрел на скорости не x2

    • @dr.offset4444
      @dr.offset4444 2 года назад +2

      Дизы от тех, кто не понял указатели после просмотра)

    • @Hip67channel
      @Hip67channel 7 месяцев назад

      От тех кто так и не услышал для чего они нужны и где применяются.

  • @user-ko8uz4ye3y
    @user-ko8uz4ye3y 3 года назад +79

    0:14 - Что такое указатели?
    1:30 - Адрес переменной int a; в оперативной памяти
    2:26 - Что произошло при int b = a;
    3:05 - Что произошло при int *px =&a; //*px Указывает на адрес в памяти с переменной a.
    4:29 - * - Указатель на адрес в памяти. &a В данном случае используется как оператор взятия адреса.
    6:11 - Ошибка при присваивании разных типов данных
    7:37 - Вывод указателя. px указывает на адрес в памяти переменной int a; // cout

    • @morph2049
      @morph2049 2 года назад

      @@brexit8044 че

  • @206fades2
    @206fades2 6 лет назад +82

    Смотрел Дударя и тебя, могу сказать, что ты очень хорошо объяснил! Спасибо большое.

    • @user-jp4qb6br7k
      @user-jp4qb6br7k 6 лет назад +71

      Дударь вообще ни о чем. Тут клюнул, там клюнул. Везде нахватался по чуть-чуть и никакой конкретики. А здесь человек дает исчерпывающие объяснения (ну для новичков по крайней мере). А не так , что вот я вам объяснил тему, но для чего надо не могу сказать, просто запомните и сами потом поймете, когда будете писать код.

    • @user-nw5iw5ew9z
      @user-nw5iw5ew9z 3 года назад +1

      @@user-jp4qb6br7k согласен

    • @mardukblack654
      @mardukblack654 3 года назад +4

      Дударь вливает гавно в головы людей.

  • @dmitryakulov610
    @dmitryakulov610 7 месяцев назад +2

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

  • @antandgen
    @antandgen 6 лет назад +101

    Очень всё доходчиво,спасибо. Хотелось бы маленькие примерчики в конце, где такая многосторонняя связь, указателей, могла бы пригодиться. А, то не понимаешь в чём фишка.

    • @fillmalyshev9377
      @fillmalyshev9377 6 лет назад +118

      Вся суть указателей проявляется в работе с функциями: т. к. стандартным методом передачи переменных является передача по значению то если вы в функции хотите изменить значение оригинальной переменной у вас это не получится (при передаче по значению функции работают с копиями переменных). В таком случае вас могут спасти указатели: в функцию передается указатель на переменную и тогда уже функция сможет изменять значение оригинальной переменной.
      Кроме того работа массивами в функциях возможна только через указатели: это сделано специально чтобы не копировать весь массив в функцию а работать напрямую с массивом через указатели. Иначе если копировать весь массив в функцию это будет жрать лишние ресурсы памяти и процессора.

    • @fillmalyshev9377
      @fillmalyshev9377 5 лет назад +3

      @@igor06991 просто занимался уборкой и поставил видео в фоновом режиме. Специально не сидел и не смотрел

    • @hackerman5984
      @hackerman5984 3 года назад

      @@fillmalyshev9377 Спасибо большое!

    • @Vov4ik048
      @Vov4ik048 3 года назад

      @@fillmalyshev9377 а если указать адрес переменной без создания указателя?

    • @fillmalyshev9377
      @fillmalyshev9377 3 года назад

      @@Vov4ik048 Зачем если есть указатели

  • @dimasavukov6230
    @dimasavukov6230 5 лет назад +3

    Сергей !! спасибо Вам огромное за уроки !!!!

  • @Ermine882
    @Ermine882 6 лет назад +16

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

  • @archiechellaut9483
    @archiechellaut9483 2 года назад +1

    Огромное спасибо за урок! Доступно, доходчиво и внятно!

  • @thedimas3007
    @thedimas3007 4 года назад +6

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

  • @user-uv6lf5xr7b
    @user-uv6lf5xr7b 3 года назад +1

    Отличное объяснение.Всё сразу стало понятно,без путаницы! Спасибо большое !!!

  • @user-dj8on2xp5z
    @user-dj8on2xp5z 3 года назад +1

    Спасибо огромное! Лучшие уроки С++

  • @user-lk9kj2ow5b
    @user-lk9kj2ow5b 4 года назад +4

    Большое тебе спасибо. Храни тебя Господь

  • @fungames2182
    @fungames2182 3 года назад +1

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

  • @user-zs8hi4rp9h
    @user-zs8hi4rp9h 4 года назад

    Спасибо, очень хорошо объясняешь. У тебя талант!

  • @tophype9008
    @tophype9008 Год назад +1

    спасибо огромное за ваши уроки, я не знаю как бы я всё это учил без вас

  • @beautifullpeople
    @beautifullpeople 2 года назад

    Спасибо Сергей! За ваш труд.

  • @dr.offset4444
    @dr.offset4444 2 года назад

    Лучшие уроки по плюсам! 👍

  • @MamaevaPiramida
    @MamaevaPiramida 2 года назад

    Большое спасибо автору за работу! Поддержку автору!

  • @Masik639
    @Masik639 4 года назад +5

    Спасибо большое за уроки. Все понятно и доходчиво. Только очень хотелось бы пару простых примеров применения этого. Для закрепления материала и наглядности.

  • @eddiezahar5791
    @eddiezahar5791 3 года назад +2

    Потрясающе... Вот и все, других слов нет, параллельно прохожу курс на скиллбокс, данный канал просто офигенное дополнение! Не реклама! Отзыв от обычного трудяги)

  • @Ms001man
    @Ms001man 5 лет назад +1

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

  • @amaterasu_60hz
    @amaterasu_60hz Год назад

    Гений. Дай бог тебе здоровья!

  • @thisdaulet9059
    @thisdaulet9059 5 лет назад +2

    очень полезная информация, спасибо

  • @rawflo3203
    @rawflo3203 6 лет назад +18

    Сделай урок на тему указателей на узатели. Очень интересно.

  • @Tigrulken
    @Tigrulken 5 лет назад +1

    Спасибо, всё понятно, помог разобраться

  • @Evgeny..
    @Evgeny.. 3 года назад +1

    Огромная благодарность!!!!

  • @user-mx7oi7uz5z
    @user-mx7oi7uz5z Год назад +3

    Спасеба! Объяснил! От души!

  • @romanrotarmel1396
    @romanrotarmel1396 5 лет назад

    Спасибо за объяснение темы указателей

  • @Blackdarkbro
    @Blackdarkbro 6 лет назад +5

    Большое спасибо, очень познавательные и интересные уроки)

  • @user-kq2rm5mf1w
    @user-kq2rm5mf1w 3 года назад +1

    Спасибо за информацию, очень интересно))

  • @StoneTL
    @StoneTL 2 года назад +9

    Побольше бы реальных примеров где это можно хорошо и удобно применять

  • @user-kt2xp3rs1p
    @user-kt2xp3rs1p 2 года назад +4

    Чувак, ты лучший. Переезжаю сейчас с Java на C++, наткнулся на твой курс, качество материала лучше чем у некоторых курсов на udemy, да еще и бесплатно. Подписка однозначно.

    • @putnik7945
      @putnik7945 2 года назад

      Аналогичная ситуация) Видео классные у автора

  • @user-hz4ho1ox1q
    @user-hz4ho1ox1q 4 года назад +1

    Спасибо за знания

  • @vladalu9794
    @vladalu9794 6 лет назад +1

    бро ты лучший, делаешь добро! Тебе в преподы надо идти)

  • @prz1325
    @prz1325 4 месяца назад

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

  • @user-kz8pw3qf6i
    @user-kz8pw3qf6i 5 лет назад +2

    Хочется больше практики. А так огромное спасибо)

  • @mykhailomorhal2181
    @mykhailomorhal2181 6 лет назад +8

    Спасибо)

  • @ivantut9210
    @ivantut9210 3 года назад

    Отличное видео! Все понятно.

  • @KingDog25
    @KingDog25 2 года назад +1

    Из всех уроков что просмотрел, найбольший пробел у меня именно в указателях, адресах и ссылках, их разименовывании и когда и где именно их применять. Сейчас пересматриваю уже 3й или 4й раз, все никак запомнить не могу главное на 0:14 Спасибо за уроки!

  • @sgimancs
    @sgimancs 4 года назад +22

    Немного запутанно для полностью "нулевых" новичков.
    *px - это содержимое ячейки памяти,
    _pх - это адрес ячейки памяти ("указатель-pointer")_ , которому можно присваивать другой адрес переменной с помощью '&'.
    В результате имеем низкий уровень доступа к адресам памяти и регистрам с содержимым, почти на уровне ассемблера (чего почти нет в других С- подобных яз.). *Но в общем эти С++ курсы, лучшие из всех и не только на рус. (и даже превосходят по максимально понятной подаче (для всех) многие С++ посредственные и объемные книжонки).*

    • @sgeinok5950
      @sgeinok5950 3 года назад +2

      Лучше бы сначала объяснил px, а потом *px, так более понятно.
      И да знаю, что уже целый год прошел)

    • @user-et1jp9gt6u
      @user-et1jp9gt6u 3 года назад +1

      @@sgeinok5950 да пошел бы ты на три буковки дружок ;D

    • @user-pk6lu9iy9v
      @user-pk6lu9iy9v Год назад +1

      На рисунок смотреть тоже надо! Для кого рисовал учитель? Переменая это адрес в памяти и значение. Все понятно.

  • @polmesh2057
    @polmesh2057 Год назад

    Благодарю, Спасибо 🙏

  • @user-hy4jc3dj7z
    @user-hy4jc3dj7z 4 года назад

    Спасибо огромное , наконец-то дошло что и как )

  • @unrealengineruseng9583
    @unrealengineruseng9583 3 года назад +3

    СПАСИБО !!!

  • @zmeyka7876
    @zmeyka7876 3 года назад +1

    Я в шоке. Поняла с полу слова все, что вы говорили, хотя тема звучит довольно запутанно. Замечательное объяснение. Спасибо.

  • @user-rd1hb8uf9b
    @user-rd1hb8uf9b 6 лет назад +9

    * Самые понятные, видео уроки по c++, на всём (RU) youtube *

  • @user-wo1dx1rz4z
    @user-wo1dx1rz4z 5 лет назад +2

    Спасибо

  • @qcandrey
    @qcandrey Год назад

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

  • @user-ob4wn9ty7c
    @user-ob4wn9ty7c 6 лет назад +8

    спасибо))

  • @SimpleCodeIT
    @SimpleCodeIT  6 лет назад +25

    #указатели #SimpleCode #урокипрограммирования

  • @spolyr
    @spolyr 2 года назад

    Спасибо за лекции.
    Иногда правда кажется что на ассемблере проще)

  • @user-xt1xy1si6i
    @user-xt1xy1si6i 4 месяца назад

    Хорошо объясняешь спасибо

  • @2912kar
    @2912kar 2 года назад +3

    Уроки просто шикарные, автору респект, но вот ДЗ маловато что-то для такого их количества.

  • @ruslandad365
    @ruslandad365 2 года назад

    Я ВСЕ ПОНЯЛ!!!
    СПАСИБО!!!!!

  • @user-pi5oo3mw9w
    @user-pi5oo3mw9w Год назад +2

    КРАСАВЧИК ЕЕЕЕЙ.
    КАК АБЯСНЯЕТ ЛЯЯЯЯ КРАСАТА

  • @jojomajo
    @jojomajo 4 года назад +4

    Было бы интересно посмотреть как работают те или иные вещи в реальной работе программ

  • @beginend95
    @beginend95 4 года назад

    Спасибо! Доступно!)

    • @kadencode5347
      @kadencode5347 2 года назад

      Ахах, Антон, и ты тут)

  • @piratiaoffline1757
    @piratiaoffline1757 5 лет назад

    Очень хорошие уроки, спасибо:
    int **c = &b; // Указатель на указатель
    cout

    • @user-pl2wu1nt5l
      @user-pl2wu1nt5l 4 года назад

      указатель на указатель, указатель на ссылку с этим проблемы. В записи int** c=&b. b - это указатель, на который указывает указатель с???

  • @vdk4575
    @vdk4575 2 года назад +1

    Вот так ЧИТЫ в играх и работают. Спасибо Сэнсей++!

  • @RominzGamer
    @RominzGamer Месяц назад

    Ты топ лучше уроков на Ютубе нет

  • @vitalii_msft
    @vitalii_msft 3 года назад

    Круто!

  • @looneykoldyin5264
    @looneykoldyin5264 4 года назад +2

    вот почему все на планете через жопу все объясняют, когда вот человек старается и все сразу понятно становится, продолжай в том же духе, все просто предельно понятно

  • @8lxckcxt
    @8lxckcxt 3 года назад

    иду дальше, цель - все уроки)

  • @timursyrma
    @timursyrma 3 года назад

    спасибо!

  • @aidar232323
    @aidar232323 6 лет назад +3

    спасибо

  • @vodoley8235
    @vodoley8235 3 года назад

    Топ уроков на ютубе

  • @lldmasterll933
    @lldmasterll933 2 года назад

    супер! спс. помогло ;)

  • @trustmeimdolphin2005
    @trustmeimdolphin2005 4 года назад +11

    кул стори бро только надо начинать с того зачем Страуструп так угорел и напихал их в ++ (примеры практической пользы)

  • @sanekvelikiy
    @sanekvelikiy 3 года назад +1

    супер))))))

  • @sleepyNovember_project
    @sleepyNovember_project 4 месяца назад

    Красиво

  • @RrRrRrRroman
    @RrRrRrRroman 10 месяцев назад

    Полезность Paint'a определяется полезностью его пользователя 🙂 (Перефразировано)

  • @DwarfBormotun
    @DwarfBormotun 5 лет назад +3

    вооо! Тема, в которой без поллитры не разобраться для меня было.

  • @luxor_9415
    @luxor_9415 3 года назад +3

    Если в компиляторе использовать только *px, то можно через него также менять переменную а:
    a= 5
    int *px = &a;
    *px = 2
    cout

    • @vr2407
      @vr2407 11 месяцев назад

      Он это сделал для того, чтобы показать возможности указателей, что необязательно с одним работать

  • @Yupitrer
    @Yupitrer 4 года назад

    Ням-ням. Лайк

  • @user-yx5nj4fw2x
    @user-yx5nj4fw2x Год назад +1

    большое спасибо из 2022

  • @_pierro_
    @_pierro_ Год назад

    вау, всё понятно

  • @user-ol4kc2rq4b
    @user-ol4kc2rq4b 2 года назад +10

    Меня интересует вот такой вопрос: в каких случаях требуется работа с указателями. Т.е. если можно менять значения напрямую в переменной a, зачем это делать через указатели.

    • @user-yj7fu8xx1h
      @user-yj7fu8xx1h 2 года назад +12

      Чисто от себя могу сказать, для создания структур данных, где заранее не известны размеры входящих элементов, или удобно работать с ссылками нежели чем с отдельными экземплярами классов.
      Практический пример: выслали тз, необходимо распарсить файл, считать с него данные и создать структуру, которая представляет собой молекулу аспирина, т.е. уже можно увидеть, что будет класс атом, который хранит много информации, будет класс связь, которая хранит информацию о кратностях связей допустим и будет класс молекула в виде какой-то реализации графа, так вот с ссылками в этом графе молекулы работать удобнее, так как копировать каждый класс атом в каждую ячейку графа займёт долгое время. Надеюсь понятно написал.
      Да и в целом при создании даже базовых структур данных, такие как динамические массивы, связанные списки, хэш-таблицы, бинарные деревья с указателями проще работать.
      Но ещё больше я надеюсь, что вы уже сами разобрались с этим вопросом. Успехов в обучении!

  • @SilverMLP
    @SilverMLP Год назад +1

    Большое спасибо за уроки!) как работают указатели мне понятно, но не понятно, пока что, какой смысл работать с указателями если есть переменные )))

  • @ebjikkolu4757
    @ebjikkolu4757 4 года назад +1

    Под Финский хеви метал хардкодишь .В этом твой секрет успеха))

  • @solomonchannel3573
    @solomonchannel3573 6 лет назад +15

    Спасибо вам за уроки. Всегда было интересно как же создаются сами языки программирования? Желаю вам удачи! И напоминаю совсем скоро "юбилей" нас будет 10 ТЫС.)

  • @user-ht1bv5xq9j
    @user-ht1bv5xq9j 8 месяцев назад

    Очень хорошее объяснения, сколько пытался понять что такое указатели - никак не получалось. Везде слишком занудно и сухо объясняют. Спасибо!

  • @user-ho7db5oz8d
    @user-ho7db5oz8d 3 года назад

    спасибо было сложно, и пока еще непонятно зачем это

  • @konstantinpyshnoy1502
    @konstantinpyshnoy1502 4 года назад

    Видел бы ты конспекты мои по твоим урокам)))

  • @chelovechek7773
    @chelovechek7773 3 дня назад

    👍

  • @medetkhanaltynbek1442
    @medetkhanaltynbek1442 3 года назад +1

    спасибо за ваш урок! не могли бы вы объяснить что такое паттерн синглтон? после просмотра многих видео в ютубе до сих пор не очень понятно

  • @brffclips1
    @brffclips1 4 года назад +2

    Пушка

  • @user-ye7vc6ug1l
    @user-ye7vc6ug1l 5 лет назад

    Спсб

  • @nicson1256
    @nicson1256 Год назад +1

    cout

  • @difacevideo
    @difacevideo 7 месяцев назад

    я начинающий с++ник, но мне кажется тут проще было рассказать про тип данных "auto"

  • @djekilldjekill4681
    @djekilldjekill4681 6 лет назад

    подскажи пожалуйста, что за классное музло фоном звучит? Уроки кстати супер!

  • @user-ks9ew8nu7o
    @user-ks9ew8nu7o Месяц назад +2

    когда нибудь я напишу программу, которая поставит лайк на каждое видео с этого плейлиста

  • @anon_commentator
    @anon_commentator 2 месяца назад

    14:16 для себя

  • @vvp6552
    @vvp6552 2 года назад

    Одна просьба автору можете сделать отдельное видео на такие выражения как : int* a , int& b ,что это такое никак не могу разобрать , такие вещи в основном встречаю в функциях как параметры

  • @AlxDidenko
    @AlxDidenko 2 года назад

    15:52

  • @Evgeny..
    @Evgeny.. 3 года назад +1

    Спасибо за урок!!! Вопрос: а почему адрес переменной постоянно меняется? Имею ввиду 16 - й код переменной.

    • @tlep
      @tlep 3 года назад +3

      каждый раз запуская программу мы заново запрашиваем для неё память у операционки

  • @mrdmitryponomarev
    @mrdmitryponomarev 3 года назад

    Всё-таки сделайте pdf’ку. Многие готовы купить за search, за примеры. Оно стоит того.