Умные указатели. Smart pointers. Изучение С++ для начинающих. Урок

В этом уроке мы рассмотрим в чём суть умных указателей в языке программирования C++
Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)
Без этого вы не станете программистом! Найти ошибку в коде. Отладка. Как пользоваться отладчиком #23
goo.gl/Jd1AYS
Что такое динамическая память. Утечка памяти. Стек и куча. Статическая память. Обзорный урок #45
goo.gl/dsCUft
Указатели c++ что это. Для чего нужны. Указатели c++ разыменование. C++ для начинающих. Урок #46
goo.gl/JT6sTT
new c++ что это. new c++ пример. c++ new delete. delete c++ что это. delete c++ пример. Урок #53
goo.gl/xyiJdp
Перегрузка операторов пример. ООП. Перегрузка оператора присваивания. C++ Для начинающих. Урок#83
goo.gl/SF62AZ
Шаблоны классов с++ примеры. Обобщенные классы. Изучение С++ для начинающих. Урок #126
goo.gl/ogjKyy
✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
Если вам нравятся мои уроки, вы хотите поддержать меня и развитие канала, то можете сделать это тут!=)
🔴🔴🔴 www.donationalerts.ru/r/simple...
или тут
🔴🔴🔴 / simplecode
✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
Уроки по программированию
Наша группа ВК smplcode
Подписывайтесь на канал / @simplecodeit

Пікірлер: 167

  • @SimpleCodeIT
    @SimpleCodeIT6 жыл бұрын

    *Не забывайте заглядывать в описание, там много полезных ссылок!*

  • @kosbarable

    @kosbarable

    5 жыл бұрын

    Я правильно понимаю, что вся разница между "умным" указателем и "неумным" лишь в том, что адрес умного хранится на стэке и по этой причине, при выходе программы из фигурных скобок, где тот был объявлен, происходит автоматический вызов его деструктора? Хотя пересмотрел ролик, но умный то создаётся оператором new -- а это опять динамическая память! Значит без вызова delete будет утечка?

  • @bobrovskij100

    @bobrovskij100

    4 жыл бұрын

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

  • @user-jm5dk2nh7t
    @user-jm5dk2nh7t4 жыл бұрын

    Урок, который идёт 24 минуты, пролетел за секунду. Было очень интересно. Спасибо!

  • @segars9604
    @segars96045 ай бұрын

    Спасибо за бесценный труд!)

  • @elizavetalazareva4719
    @elizavetalazareva471911 ай бұрын

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

  • @KurpatovInstagram
    @KurpatovInstagram6 жыл бұрын

    Интересно, спасибо!

  • @pavelios3577
    @pavelios35775 жыл бұрын

    Благодарю за урок!

  • @kaynsolo
    @kaynsolo6 жыл бұрын

    Smart Like!

  • @johan.de.matan.
    @johan.de.matan.5 жыл бұрын

    Утечка памяти - это самое лайтовое при работе с динамической памятью, вот исключения - это ещё то мозгодолбство, как же они меня в край затрахали когда я выделял ее под объекты в моем большом проекте. Моё любимое: "Куча была повреждена" - и ты как бы такой смотришь и думаешь : "зшб" - ведь это даже от тебя не зависит

  • @SimpleCodeIT
    @SimpleCodeIT6 жыл бұрын

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

  • @user-nz3ig3wv5j
    @user-nz3ig3wv5j3 жыл бұрын

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

  • @user-is3jb6mi4g
    @user-is3jb6mi4g4 жыл бұрын

    Спасибо за интересную подачу материала и грамотные и понятные примеры. Побольше бы таких учителей, как вы) Уже в С++ не первый год, а все равно даже в самых первых ваших уроках и сегодня нахожу что-то новое. Надеюсь вы и дальше будете вести людей через дебри С++✌🏻

  • @user-or1hy4xz8u

    @user-or1hy4xz8u

    2 жыл бұрын

    не первый год учишь или не первый год работаешь в С++?

  • @user-is3jb6mi4g

    @user-is3jb6mi4g

    2 жыл бұрын

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

  • @user-pb4yv2et2i
    @user-pb4yv2et2i6 жыл бұрын

    Благодарю!!!

  • @miroslavklyukovsky683
    @miroslavklyukovsky6832 жыл бұрын

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

  • @daps9516
    @daps9516 Жыл бұрын

    Я очень мало знаю про ООП, но почти все уроки до него я посмотрел. И понял данное видео примерно на 55%. Я рад. C++. Хочу на работу!

  • @daps9516

    @daps9516

    Жыл бұрын

    Уже что-то знаю про ООП. Примерное представление инкапсуляции, наследования, полиморфизма есть. Но чет боюсь, что в процессе изучения ООП, могу позабыть про стандартные алгоритмы.

  • @adominebletwel1317

    @adominebletwel1317

    Жыл бұрын

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

  • @daps9516

    @daps9516

    10 ай бұрын

    А я теперь изучаю Блокчейн и решаю задачи на leetcode) Ну и плюсы тоже все еще ботаю. Куда без них

  • @randomcraft2345

    @randomcraft2345

    Ай бұрын

    Советую не просто ботать и не просто решать искусственные задачи на алгоритмы, но и делать pet проекты. Они тоже могут быть искусственным, особенно по началу, но быстро могут перерости в значимые и прикладные. В своём pet проекте сможешь одновременно все возможности плюсов отработать, и кучу алгоритмов написать), вопрос только, какой именно проект будешь делать. А самое главное преимущество от этого - можно будет показать свой проект при трудоустройстве, и скорее всего, это покажет вас с лучшей стороны (особенно, если будет виден прогресс с ходом времени). Ну, и советую делать проект сразу на GitHub, история коммитов подтвердит подлинность проекта.

  • @nap0le0nb0naparte7
    @nap0le0nb0naparte76 жыл бұрын

    Большое спасибо за урок!

  • @thebat72
    @thebat722 жыл бұрын

    Это лучшее что есть в рунете. Огромное спасибо.

  • @user-tf7ut3hv7q
    @user-tf7ut3hv7q4 жыл бұрын

    Отлично объясняете,Спасибо вам!

  • @kolosrodoskyi
    @kolosrodoskyi6 жыл бұрын

    спасибо за качественный урок.

  • @SimpleCodeIT

    @SimpleCodeIT

    6 жыл бұрын

    Пожалуйста!

  • @artlinestudio6735
    @artlinestudio67352 жыл бұрын

    О да! Очень интересно! Спасибо Сергей! Браво!

  • @user-lx5vv3uu8u
    @user-lx5vv3uu8u4 жыл бұрын

    Спасибо!

  • @user-qj6tk5fw9p
    @user-qj6tk5fw9p2 жыл бұрын

    и снова большое спасибо)

  • @blackgolddev4023
    @blackgolddev40234 жыл бұрын

    Супер спасибо.

  • @Dima-uz8gi
    @Dima-uz8gi4 жыл бұрын

    Отличный урок! Спасибо)

  • @vladalu9794
    @vladalu97946 жыл бұрын

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

  • @anotherpain9120
    @anotherpain91209 ай бұрын

    Благодарю!

  • @return_89
    @return_894 ай бұрын

    Супер!

  • @user-md2zn1zj6b
    @user-md2zn1zj6b Жыл бұрын

    спасибо за урок хочу добавить что в этом же деструкторе можно анулить сылку с помощью nullptr

  • @Ermine882
    @Ermine8826 жыл бұрын

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

  • @vaynah9540
    @vaynah95406 жыл бұрын

    Krasavchik

  • @piseldagrob
    @piseldagrob6 жыл бұрын

    Жалко что только что нашел твой канал :( Я сейчас на четвертом твоем уроке остановился, но обязательно тебя догоню!

  • @glebko732

    @glebko732

    4 жыл бұрын

    Уже догнал?

  • @niazgatin6482

    @niazgatin6482

    3 жыл бұрын

    @@glebko732 нет все послал на х*й и бросил)

  • @lunaryx9719

    @lunaryx9719

    Жыл бұрын

    @@glebko732 а сейчас догнал?

  • @stephandolskii7964
    @stephandolskii79642 жыл бұрын

    балдежный урок, прекрасно объяснено!

  • @i4q236
    @i4q2366 жыл бұрын

    This is really a new word in science and technology and in programming in C++

  • @cakenecake
    @cakenecake4 жыл бұрын

    Отличный урок, спасибо. Подписался)

  • @Km-pn3hf
    @Km-pn3hf4 жыл бұрын

    спасибо!

  • @andrewbistroff1199
    @andrewbistroff11996 жыл бұрын

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

  • @user-bc4vi6hl2f
    @user-bc4vi6hl2f6 жыл бұрын

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

  • @IT_Enthusiast
    @IT_Enthusiast6 жыл бұрын

    Дякую!

  • @user-pl4dt8ow3s
    @user-pl4dt8ow3s6 жыл бұрын

    Отличный урок! Спасибо! Не могли бы, пожалуйста, ответить на вопрос: " Когда предположительно будут Динамические структуры данных?"

  • @SimpleCodeIT

    @SimpleCodeIT

    6 жыл бұрын

    Пожалуйста, в ближайшие 2 недели.

  • @rizroz3955
    @rizroz39552 ай бұрын

    Спасибо

  • @andriizamoruev5382
    @andriizamoruev53825 жыл бұрын

    Какой то адский урок ! )))

  • @user-kb6qd8rg4g
    @user-kb6qd8rg4g4 жыл бұрын

    спасибо

  • @DrUlrih
    @DrUlrih6 жыл бұрын

    Только не забудьте, что реализация шаблонных методов класса д.б. в. h файле

  • @tapirskiy
    @tapirskiy4 жыл бұрын

    не нарадуюсь, что нашла Сергея. А ведь все началось с запроса в гуголе про константный указатель на константу))))))

  • @_Yes_.

    @_Yes_.

    Жыл бұрын

    lol

  • @justodium9896
    @justodium9896 Жыл бұрын

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

  • @kerril1309b
    @kerril1309b4 жыл бұрын

    Спасибо за качественный контент

  • @C2H5OHH
    @C2H5OHH2 жыл бұрын

    Thank you for the lesson!

  • @mykhailomorhal2181
    @mykhailomorhal21816 жыл бұрын

    Спасибо)

  • @user-ol9es1ch9x
    @user-ol9es1ch9x Жыл бұрын

    привет из 2023. Спасибо большое за уроки!

  • @rockstarra-tayaroslavkastu2747
    @rockstarra-tayaroslavkastu27476 жыл бұрын

    Недавно начал изучать С++, пока что на 4 уроке. Глянул что вышел 130 урок и офигел, я же С++ буду года два где-то учить xd

  • @denden4455

    @denden4455

    6 жыл бұрын

    Rockstar Ra-Ta Yaroslav Kastushkin За три дня дошел до этого урока на скорости x2)))))

  • @dml1207

    @dml1207

    6 жыл бұрын

    Я за 2 месяца на обычной скорости.

  • @user-sx3co8ju6w

    @user-sx3co8ju6w

    5 жыл бұрын

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

  • @TheWladberlin

    @TheWladberlin

    4 жыл бұрын

    @@denden4455 Ты офигел, как можно их усвоить за три дня?! Тем более на скорости х2, когда половину слов перестаешь разбирать, это круто! Если ты за три дня не просто просмотрел, а по-настоящему усвоил темы - ты вундеркинд, снимаю шляпу)).

  • @user-uj6je7uc7h

    @user-uj6je7uc7h

    4 жыл бұрын

    ну что, выучил?)

  • @ivanaaa6049
    @ivanaaa60496 жыл бұрын

    Темная сторона привлекла тебя, о любитель Visual Studio. Помни: тьма сгущается перед рассветом.

  • @izvarzone
    @izvarzone2 жыл бұрын

    В Unreal C++ gc автоматический, но только если использовать макросы UPROPERTY(), UENUM() или UFUNCTION()

  • @dimaborovik7857
    @dimaborovik78572 жыл бұрын

    в данном случае мы можем вывести значение разименованного, то есть *pointer, как вывести адрес? то есть pointer?

  • @thebat72
    @thebat722 жыл бұрын

    пока посмотрел все 150 роликов. Очень сильно помогло.

  • @_Yes_.

    @_Yes_.

    Жыл бұрын

    putin?

  • @user-kq9cs6lm8c
    @user-kq9cs6lm8c3 жыл бұрын

    Благодарю за уроки! Подскажите, а где правильнее nullptr присвоить? в деструкторе SmartPointer?

  • @user-rj7cf4sf6d

    @user-rj7cf4sf6d

    2 жыл бұрын

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

  • @user-or1hy4xz8u

    @user-or1hy4xz8u

    2 жыл бұрын

    @@user-rj7cf4sf6d а почему не в деструкторе??

  • @Timo4eus
    @Timo4eus6 жыл бұрын

    Вопрос. Имхо, не совсем понятен момент где pointer = new int(5). pointer является объектом класса, а new int становится полем класса. Чтобы было правильно, следовало перегрузить также оператор "=", чтобы new int присваивался именно нужному полю. Здесь происходит неявное присваивание значения полю класса средствами языка, а нужен эквивалент команды "smaprtointer pointer = smartpointer (new int(5))".

  • @ifelse9664

    @ifelse9664

    5 жыл бұрын

    Отвечу, может кому пригодится .В данном случае new int становится полем класса через конструктор. Например запись smartpointer smartp = new int(87); Аналогична записи smartpointer smartp (new int(87)); То есть при записи smartpointer p = new int(87); сначала создается объект в правой части с помощью коструктора, потом smartp приравнивается этому объекту (это происходит с помощью оператора = по умолчанию). (но я могу и ошибаться)

  • @pubgr862

    @pubgr862

    5 жыл бұрын

    this->ptr = ptr; это разве неявное присваивание?

  • @1Dpyr

    @1Dpyr

    9 ай бұрын

    Да, здесь происходит неявное преобразование типов... Если к конструктору класса добавить ключевое слово explicit, то компилятор не пропустит такой код (SmartPointer ptr = new int(5);) сообщит о не явном преобразовании. Только такой код пропустит SmartPointer ptr(new int(5);

  • @romaniancoder5187
    @romaniancoder51876 жыл бұрын

    Сергей, здравствуйте. Скажите пожалуйста, когда мы в функции main через оператор new возвращаем указатель на те данные, где хранится значение 5, а потом передаем их в конструктор, то куда они потом идут? Получается, когда мы присваиваем данные указателю в конструкторе, он указывает на ту же область памяти, которую мы выделили под значение 5?

  • @user-vs6kl8ph5v

    @user-vs6kl8ph5v

    Жыл бұрын

    да, на ту же. если посмотреть значения this и параметра ptr в режиме отладки в моменты вызова конструктора, то там видно, что this начинает указывать туда же, куда параметр

  • @romaniancoder5187

    @romaniancoder5187

    Жыл бұрын

    @@user-vs6kl8ph5v за ответ спасибо, правда, за 5 лет я уже сильно отошел от плюсов )

  • @user-qj6tk5fw9p
    @user-qj6tk5fw9p2 жыл бұрын

    не подскажете, почему не получается поместить в переменную класса SmartPointer указатель именно на МАССИВ int.

  • @gavyttop1341

    @gavyttop1341

    2 жыл бұрын

    для массивов нужна своя реализация)) т.к нужно удалять не просто delete ptr, а delete [] ptr как для массива;

  • @i4q236
    @i4q2366 жыл бұрын

    Good luck to you, Sergei! Promote your channel and you in work and life, a million subscribers to the channel !!! )))

  • @hotabmax6431
    @hotabmax64314 жыл бұрын

    Получается внутри базового объекта создаётся новый, который является ссылкой на 1.

  • @HugoBossKosta
    @HugoBossKosta2 жыл бұрын

    спасибо за крутой урок!

  • @alexgaran5339
    @alexgaran53393 жыл бұрын

    Деструктор активируется при выходе из зоны видимости любой функции? Я думал только из main'а.

  • @DoimaDoima
    @DoimaDoima2 жыл бұрын

    Добрый день. А если я просто сделал геттер(или сетер чтоб работать с нашими данными) к нашему указателю, зачем перегружать оператор? В чём вообще разница? Буду благодарен а ответ.

  • @user-or1hy4xz8u

    @user-or1hy4xz8u

    2 жыл бұрын

    наверно, геттер здесь не нужен...

  • @pluto2656
    @pluto26566 жыл бұрын

    как включить пунктирную линию между фигурных скобок

  • @kolosrodoskyi

    @kolosrodoskyi

    6 жыл бұрын

    Установить расширение Indent Guides на VS

  • @bleeding333
    @bleeding333 Жыл бұрын

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

  • @unukhtv7196

    @unukhtv7196

    Жыл бұрын

    Так он оператор * написал.

  • @bleeding333

    @bleeding333

    Жыл бұрын

    @@unukhtv7196 мне писало, что для ostream для *pointer не реализовано, пришлось писать самому

  • @incay216
    @incay2166 жыл бұрын

    Можешь объяснить, пожалуйста, что такое: DWORD, HANDLE?

  • @user-xj5fh6nk9y

    @user-xj5fh6nk9y

    5 жыл бұрын

    Не совсем, dword - шестнадцатиричное число, а handle сам точно не помню, вроде обьект для получения доступа к другому процессу

  • @svvonline1

    @svvonline1

    Жыл бұрын

    DWORD - 32-битное беззнаковое целое. HANDLE - переопределенный тип переменной для манипулции объектом, обычно это указатель.

  • @Russian-Stalinist
    @Russian-Stalinist4 жыл бұрын

    Нехорошо одинаково именовать данные-члены класса и формальные параметры метода.

  • @svvonline1

    @svvonline1

    Жыл бұрын

    Это вопрос стиля и внимательности.

  • @Russian-Stalinist

    @Russian-Stalinist

    Жыл бұрын

    @@svvonline1 Самый лучший тиль для приватных данных: Class(T var) : variable_{var) {}

  • @amirbabaev7211
    @amirbabaev72119 ай бұрын

    а как же умный указатель для освобождения памяти массива? в данном классе будет очищаться лишь первый элемент массива, так как не было применено delete[]. мне кажется, что в данном случае нужен спецификатор шаблона класса, который бы работал через шаблон, а в его деструкторе описывалось бы delete[] ptr.

  • @kayforwarr5706

    @kayforwarr5706

    7 ай бұрын

    Всё верно, но этом уроке показана общая идея, а частные случаи, вероятно, будут разобраны в следующем уроке т.к. std::unique_ptr/std::make_unique - как раз об этом.

  • @viper_0097

    @viper_0097

    3 ай бұрын

    Можно сделать массив умных указателей, хотя инициализировать будет трудно

  • @user-oj7ct4lt4x
    @user-oj7ct4lt4x3 жыл бұрын

    Что будет, если я объявлю указатель в стеке и создам с его помощью умный указатель из этого урока? После выхода из зоны видимости освободится и место в стеке, и сработает деструктор умного указателя?

  • @RoadToFuture007

    @RoadToFuture007

    3 жыл бұрын

    Если я Вас правильно понял и Вы хотите в стеке создать обычный указатель на умный указатель, то такой фокус наверно не выйдет: Вы стерете/потеряете просто указатель на умный указатель, а сам умный указатель (память зарезервированая за ним и его содержание) останется висеть в куче (?) Тут нужен вумный указатель на умный указатель-2, в котором будет реализована автоматическая очистка этих умных указателей-2 . Я думаю, это реализуемо.

  • @zohnannor
    @zohnannor2 жыл бұрын

    почему не сделать этот нью в конструкторе смарт птр? смысл же в этом вроде

  • @user-lb6nj7oh1f
    @user-lb6nj7oh1f Жыл бұрын

    Ваши уроки - Сокровище. Спасибо

  • @Ruby-ue5db
    @Ruby-ue5db6 жыл бұрын

    А зачем нужно перегружать *, если мы итак получаем данные, лежащие по указателю, с помощью неперегруженной *?)

  • @kosbarable

    @kosbarable

    5 жыл бұрын

    затем, что оператор звёздочка не определённый в декларируемом классе просто не сработает в коде, если только не сделать доступ до самого поля с обычным указателем (вынести его из private в public) и не применить оператор уже к нему) Но тогда встаёт вопрос об инкапсуляции)

  • @jsgaming9839

    @jsgaming9839

    5 жыл бұрын

    оператор * у shared_ptr вернет **int я так понял, а нам нужен *int. Так что перегружать надо.

  • @vladportnov3041

    @vladportnov3041

    4 жыл бұрын

    так как неперегруженный * дает указатель на объект, а не на наше поле ptr

  • @alexeypatrushev8645
    @alexeypatrushev86456 жыл бұрын

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

  • @alexeypatrushev8645

    @alexeypatrushev8645

    6 жыл бұрын

    Спасибо за ответ. Я примерно так и предполагал, просто заострил внимание на место где может возникнуть проблема.

  • @user-or1hy4xz8u
    @user-or1hy4xz8u2 жыл бұрын

    Не совсем понял момент с перегрузкой *. Ведь звездочка - это и так по дефолту значит "разыменование указателя"(

  • @FrenzyNull

    @FrenzyNull

    Жыл бұрын

    Не только - это выделение динамической памяти

  • @voxel1547

    @voxel1547

    Жыл бұрын

    @@FrenzyNull выделение - это new, а указатель это собственно указатель на память где хранится что-то, например выделенная память

  • @user-ec6sq7bh5l
    @user-ec6sq7bh5l3 жыл бұрын

    Поправьте меня если я не прав, но у вас в деструкторе написан оператор delete без []. Таким образом если мы передадим указатель на массив, то получим неправильную работу программы.

  • @gavyttop1341

    @gavyttop1341

    2 жыл бұрын

    [] используется для масивов не так ли?

  • @izvarzone
    @izvarzone2 жыл бұрын

    Зачем нужен setlocale(LC_ALL, "ru"); ?

  • @FrenzyNull

    @FrenzyNull

    Жыл бұрын

    Чтобы поддерживать русскую раскладку

  • @user-hs6oq6gc7v
    @user-hs6oq6gc7v4 жыл бұрын

    19:36 понятие не имею как этот отладчик запустить....

  • @shoorikefimov6759

    @shoorikefimov6759

    4 жыл бұрын

    Для VS F10 или зеленая стрелка с надписью "Локальный отладчик Winows". Перед запуском надо поставить точку останова на интересующем участке кода.

  • @sleepyNovember_project
    @sleepyNovember_project4 ай бұрын

    Бллллл, теперь у меня первая асоциация вызываемая при упоминании C++, как думаете, какая? ПЕРЕГРУЗКА

  • @BlackFireTop
    @BlackFireTop3 ай бұрын

    Если кто-то смотрит спустя 6 лет, как в 104 строчке объекту типа SmartPointer присваивается указатель на int? почему отрабатывает конструктор, а не выводится ошибка об отсутствии перегрузки оператора=?

  • @TurboGamasek228

    @TurboGamasek228

    2 ай бұрын

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

  • @BlackFireTop

    @BlackFireTop

    2 ай бұрын

    @@TurboGamasek228 да, не объект объекту Но указатель объекту То есть это же всё равно, что объекту присваивать число В любом случае, спасибо за ответ, я не думал, что оно так должно отработать🤔

  • @mosdomveteran9323
    @mosdomveteran93235 жыл бұрын

    блин я в этом синтаксисе уже начинаю плавать.

  • @firerunnew
    @firerunnew Жыл бұрын

    0:55 поэтому нам дали ту хуйню?)))

  • @thefuckiestguy
    @thefuckiestguy2 жыл бұрын

    Ошибка. C++ не существует подходящего конструктора для преобразования

  • @user-yd5si7gc8j
    @user-yd5si7gc8j3 жыл бұрын

    Меня глючит или на фоне очень тихо играет мелодия с Наруто или какой-то рок?

  • @user-or1hy4xz8u

    @user-or1hy4xz8u

    2 жыл бұрын

    тебя глючит.

  • @modeck5844
    @modeck58445 жыл бұрын

    посиб, лучше понял qt

  • @jsgaming9839
    @jsgaming98395 жыл бұрын

    Уроки замечательные, воть только 3 вещи непонятно. Для структур есть свои контейнеры у которых деструкторы собственные. Нафига тогда козе баян со smart_ptr (shared_ptr). Есть try ... catch на случай охрененных ветвлений. Опять непонятно нафига козе баян. Для многопоточности свои механизмы контроля доступа к данным. Я чего-то не понимаю или smart_prt заточены под многопоточные программы. Если нет - нахрен вообще этот smart_ptr? И, кстати для функции foo( const T & value ){ return T*) класс накроется медным тазом. Перегружать надо константное разименование тоже имхо.

  • @user-or1hy4xz8u

    @user-or1hy4xz8u

    2 жыл бұрын

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

  • @SeshAlex
    @SeshAlex6 жыл бұрын

    Благодарю за урок!

  • @DD0S2
    @DD0S23 жыл бұрын

    спасибо

  • @bama2619
    @bama261910 ай бұрын

    спасибо

  • @user-hb7er4ff9u
    @user-hb7er4ff9u2 жыл бұрын

    спасибо

Келесі