Конструктор копирования. Что это. Пример. Когда вызывается Копирование объектов по умолчанию C++ #82

  Рет қаралды 310,160

#SimpleCode

#SimpleCode

6 жыл бұрын

Понравилось видео или оказалось полезным? Подпишись!
Конструктор копирования. Что это. Пример. Синтаксис. Когда вызывается. Копирование объектов по умолчанию. C++ Для начинающих. Урок#82
Передача параметров в функцию по значению. Параметры функции. Передача аргументов в функцию. #34
goo.gl/sTwZMT
Деструктор что это. Зачем нужен деструктор класса в ООП. Пример. Деструктор с параметрами. Перегрузка. C++ Для начинающих. Урок#80
goo.gl/ZywA2a
Ключевое слово this. Что означает. Что это такое. Для чего нужен this указатель C++ Для начинающих Урок #81
goo.gl/fuAi1w
Если вам нравятся мои уроки, вы хотите поддержать меня и развитие канала, то можете сделать это тут! =)
www.donationalerts.ru/r/simple...
или тут
/ simplecode
Уроки по программированию
Наша группа ВК smplcode
Подписывайтесь на канал / @simplecodeit

Пікірлер: 736
@SimpleCodeIT
@SimpleCodeIT 6 жыл бұрын
*Друзья, если вы решили изучать программирование и подписались на канал - рекомендую вам нажать колокольчик чтобы никогда не пропускать новые уроки!*
@zaramar8250
@zaramar8250 6 жыл бұрын
Спасибо огромное,прямо все по полочкам разложил.
@lelouchlamperug6836
@lelouchlamperug6836 5 жыл бұрын
получается используя один и тот же указатель data, мы не копируем, а просто перезаписываем одну область памяти, разве нет?
@lboomiellboomiel1640
@lboomiellboomiel1640 4 жыл бұрын
Спасибо большое полезный контент. Изучаю программирование достаточно долго, хоть я и новичек. Сделал вывод, что среди всех, лучше всего учиться у тебя. Удачи, пили еще контента. Каждое видео обожаю
@greatskydrake9531
@greatskydrake9531 4 жыл бұрын
Конструктор копирования надо объявлять в заголовке класса ?
@lboomiellboomiel1640
@lboomiellboomiel1640 4 жыл бұрын
Great Sky Drake конструктор копирования объявляется внутри класса. Это как обычная функция, только со своим синтаксисом
@rocker5652
@rocker5652 2 жыл бұрын
Вы только представьте, сколько людей, благодаря вам написали лабы, сдали зачеты, написали экзамен, закрыли сессию.. С ума сойти, огромнейшая благодарность.
@user-vj3cu3wv9l
@user-vj3cu3wv9l 2 жыл бұрын
0
@user-bf2im1ih1e
@user-bf2im1ih1e 2 жыл бұрын
@@user-vj3cu3wv9l у меня вся группа в универе смотрит эти лекции, и это только 1 курс, а всего их 4, так что цифра там большая)
@user-vj3cu3wv9l
@user-vj3cu3wv9l 2 жыл бұрын
@@user-bf2im1ih1e смотреть им мало чем поможет
@userrishiy
@userrishiy 2 жыл бұрын
@@user-vj3cu3wv9l поможет ещё как) если тебе не помогло, стоит задуматься.
@user-vj3cu3wv9l
@user-vj3cu3wv9l 2 жыл бұрын
@@userrishiy я имею ввиду что нужна и практика
@SimpleCodeIT
@SimpleCodeIT 6 жыл бұрын
Урок довольно сложный и длинный, на запись и монтаж потратил 3 часа. Но конструктор копирования один из важнейших моментов в ООП, так что надеюсь всё не зря. Всем настойчивости в обучении! =)
@user-bk4ne6it6y
@user-bk4ne6it6y 6 жыл бұрын
Было бы хорошо, если бы Вы выложили исходный код в группе в ВК, так как после просмотра Вашего видео полезно реализовать даже идентичный код, то есть по памяти написать такой же и всё хорошенько усвоить, так как урок действительно не с лёгких. Мое мнение как новичка! СПАСИБО ЗА УРОК!
@pluto2656
@pluto2656 6 жыл бұрын
а как статические объявленные свойства копировать в конструкторе копирования. Или их не нужно копировать
@user-rm3eu6we8c
@user-rm3eu6we8c 6 жыл бұрын
Pluto, да просто чз присваивание копировать. на видео, обрати внимание на статическую переменную int Size, которую объявили в 140 сроке, дак вот копирование этой переменной организовано в "конструкторе копирования" в 121 строке: this->Size = other.Size;. Ну, а если в твоем классе динамические переменные вообще отсутствуют, и ты пользуешь только статические - тогда тебе подойдет "стандартный" конструктор копирования объектов. т.е., самому перегружать этот конструктор тебе в принципе смысла нет,
@inex550
@inex550 5 жыл бұрын
Всё доходчиво и понятно, спасибо за ваши уроки!
@ZestRise
@ZestRise 5 жыл бұрын
@@user-bk4ne6it6y Я бы вам рекомендовал просмотреть видео несколько раз, ПОНЯТЬ смысл, и реализовать такой конструктор самому, так как это будет лучшим способом написания кода, а не его копированием. успехов
@user-ck9uf6pw6j
@user-ck9uf6pw6j 5 жыл бұрын
Мой фарш в голове согласился принять это только с 4-го раза!! Хоть и тема трудноватая, но вы обладаете крутейшими преподавательскими способностями!!!! Спасибо, Сергей!!!!
@terrarianxyt8332
@terrarianxyt8332 Жыл бұрын
Тема настолько сложный что мой фарш стал котлетом, кого нибудь угостить?
@saintnikija7821
@saintnikija7821 Жыл бұрын
@@terrarianxyt8332 как успехи?
@Isturfore
@Isturfore Ай бұрын
как успехи в программировании
@SeshAlex
@SeshAlex 6 жыл бұрын
Общая картина понятна, но мозг ой как не хочет детально все усвоить. Спасибо за урок, и как обычно, лайкос:)))
@Isturfore
@Isturfore Ай бұрын
а сейчас усвоил?
@juliakond9393
@juliakond9393 6 жыл бұрын
Спасибо огромное! Учусь в академии на программиста. Ваш канал посоветовала всем одногруппникам. Многие из них стали смотреть Ваши уроки. Недавно один из одногруппников сказал мне:"Забил на все и сутки смотрел SimpleCode, не мог оторваться". Как дополнительный материал Ваш канал просто бесценен!!!
@BrownAleks
@BrownAleks 4 жыл бұрын
Скорее всего : Дополнительный материал, это то, что - "Учусь в академии на программиста", к тем урокам которые преподаёт Сергей? Вы наверное так хотели выразится? XD)))
@Isturfore
@Isturfore Ай бұрын
как у тебя по программированию?
@juliakond9393
@juliakond9393 Ай бұрын
@@Isturfore Норм. Работаю. Middle
@user-rj4bh9xu7d
@user-rj4bh9xu7d 6 жыл бұрын
Мдааа. Сложновато с первого раза. но ставлю лайк :))
@Isturfore
@Isturfore Ай бұрын
как успехи
@sov.harlem934
@sov.harlem934 4 жыл бұрын
Понял с первого раза, новичков может сильно спутать пример применения Кк. Вот, кто сразу не понял, постарался вычленить суть: Конструктор копирования - конструктор, реализуемый по умолчанию, и вызываемый при копировании объекта класса(передача параметром переменной типа класс). Его особенность в том, что он делает абсолютно идентичную копию объекта побитово. Это может создать проблему в том случае, когда в описании класса мы реализуем динамический массив. В таком случае, при копировании экземпляра класса, динамический массив тоже скопируется, а также и адрес его указателя. Иначе говоря, два указателя будут хранить один и тотже адрес, и когда мы попытаемся реализовать оператор delete[] в деструкторе, он попытается дважды очистить одно и тоже место в оперативной памяти, что и вызовет ошибку. Синтаксис: class Human { public: Human(const Human &other) //передача параметром объекта типа класс, разумеется, по ссылке { } };
@YanganiV
@YanganiV 2 жыл бұрын
Спасибо! Теперь я понимаю что к чему.
@arsunchik
@arsunchik Жыл бұрын
То есть по факту КК нужен для выборочного копирования, либо аккуратного копирования если есть указатели?
@gok4260
@gok4260 Жыл бұрын
что такое кк
@isolaneed2445
@isolaneed2445 11 ай бұрын
​@@gok4260, конструктор копирования
@Salavat1k
@Salavat1k 5 жыл бұрын
получается алгоритм такой: в паблике класса два конструктора для одного класса: MyClass(int size) и MyClass(const MyClass &other) После старта программы сначала создается объект MyClass a(10) и отрабатывает первый конструктор MyClass(int size) при этом: 1) создается указатель на ячейки памяти *data. Из прошлых уроков такой указатель может также будет указателем на начало массива data[] объекта а. 2) скрытой переменной Size объекта присваивается значение size=10 3) массиву data[] устанавливается динамический размер =10 4) массив циклом заполняется значениями от нуля до девятки 5) выводится на экран сообщение "Вызвался конструктор" далее в main переходим ко второму объекту класса MyClass b(a) и отрабатывает уже второй конструктор MyClass(const MyClass &other): 1) скрытой переменной Size объекта b присваивается значение size, такое же как у объекта а 2) создается указатель *data и выделяется память для нового объекта b или иначе для нового массива data[] объекта b. 3) через цикл в каждую ячейку массива объекта b копируются значения массива объекта а 4) вызывается сообщение "Вызвался конструктор копирования" получается два одинаковых объекта с разными адресами памяти. далее вызывается деструктор для второго объекта и потом для первого. Это гениально просто! Получается, что применяется своеобразная перегрузка конструкторов. Однако на данном этапе не понятна практическая ценность этого, она расскрывается в следующем уроке.
@sheldon3705
@sheldon3705 5 жыл бұрын
Я только не понял если у нас скрытой переменной Size объекта b присваивается значение скрытой переменной Size объекта a, то зачем в данной строчке кода: this->data = new int[other.Size] и данной строчке кода: for (int i(0); i < other.Size; i++); писать размер массива other.Size а не просто Size? Ведь скрытая переменная нового объекта b уже хранит в себе значение скрытой переменной Size объекта a.
@igorkoshkarev18
@igorkoshkarev18 4 жыл бұрын
@@sheldon3705, а какая разница? В данном случае ничего же не меняется. Что мы напишем "this->data = new int[other.Size], что просто this-> data = new int [Size], результат будет одним и тем же
@sheldon3705
@sheldon3705 4 жыл бұрын
Вот я и спрашиваю почему именно озер сайз написано. Мне ответили что для большей читаемости и понятности кода. Ты тоже учишься по его урокам сейчас?
@MRWOLFHACK
@MRWOLFHACK 4 жыл бұрын
@@sheldon3705 Люди учатся по разным учебникам курсам и т.д к примеру он нас учит делать код кто-то повторяем его манеру а кто-то нет,в програмирование как в картинной галереи кто-то считает эту картину красивой и делает похожее на нее а кто-то другую тоже с other.Size и Size кто как хочет так и пишет , а стандарты нужны лишь для того чтобы все понимали код. ЕСЛИ В КРАТЦЕ ТО КТО-ТО ПИШЕТ other.Size А КТО ТО ПРОСТО Size P.s Отпишитесь если меня не поняли P.p.s Ах да читаете иностранные форумы там тоже есть много похожих вопросов
@MRWOLFHACK
@MRWOLFHACK 4 жыл бұрын
@@igorkoshkarev18 Верно но по-моему мы с ответом запаздали
@user-lp8rj3zr2v
@user-lp8rj3zr2v Жыл бұрын
Сергей, не забрасывайте, пожалуйста, канал!! Вы лучший учитель программирования в русскоязычном Ютубе!!!
@ag7720
@ag7720 Жыл бұрын
К сожалению у Сергея спецоперация за окном, этим и вызвана приостановка в выпуске новых уроков
@ghg6759
@ghg6759 Жыл бұрын
@@ag7720уроки он забросил еще до войны
@spidpayk0089
@spidpayk0089 Жыл бұрын
@@ag7720 не спецоперация, а война
@ruslandad365
@ruslandad365 Жыл бұрын
@@ag7720 А он что из Украины чтоли?
@ag7720
@ag7720 Жыл бұрын
@@ruslandad365 вроде бы из Харькова
@vadimgreen5352
@vadimgreen5352 3 жыл бұрын
Застопорился на этом видео жестко, впал в прокрастинацию на недельку, но я вернулся. Сергей, респект за твои труды)
@Isturfore
@Isturfore Ай бұрын
как успехи
@vadimgreen5352
@vadimgreen5352 Ай бұрын
@@Isturfore пишу свой квест
@9080artur
@9080artur 3 жыл бұрын
Это просто самый лучший преподаватель, которого я встречал в своей жизни, так, как Вы обьясняете, не обьясняет никто. Посмотрел пару раз заново видео, было все равно непонятно, на 5 раз я понял как это элементарно и гениально, будто что-то щелкнуло в голове. Я обязательно часть первой зарплаты с работы в IT отправлю Вам. Спасибо большое!! Огромное, человеческое спасибо!!!
@Isturfore
@Isturfore Ай бұрын
как успехи
@user-tu9fo9nd6f
@user-tu9fo9nd6f 3 күн бұрын
как успехи
@aleksmall7449
@aleksmall7449 4 жыл бұрын
Самое сложное в программировании - это понять нахй это может пригодиться, так освоить было бы легче) Но определенно это лучшие лекции, вам в университете преподавать
@Kokurorokuko
@Kokurorokuko 3 жыл бұрын
Не совсем согласен. Иногда достаточно поверить преподавателю, что это важно, и лучше это сразу усвоить. Но соглашусь, что с примером, как применять, обычно изучать что-то новое приятнее и легче.
@user-mm5ln4qh5q
@user-mm5ln4qh5q Жыл бұрын
@@Kokurorokuko преподавателям программирования доверять нельзя. Многие из них ничего не понимают.
@Isturfore
@Isturfore Ай бұрын
как успехи
@shaa8193
@shaa8193 6 жыл бұрын
Смотрел где-то месяц назад не понятно было, понял что я что-то да пропустил, пересмотрел всё заного и наконец-то понял. Спасибо ^^
@batfist6595
@batfist6595 4 жыл бұрын
месяц назад: не хватает уровня мудрости
@Roizel-zm1bd
@Roizel-zm1bd 4 жыл бұрын
@@batfist6595 Ваш интелект слишком низок для заклинания "Конструктор копирования".
@ivanliaz
@ivanliaz 4 ай бұрын
@@batfist6595 🤣
@Isturfore
@Isturfore Ай бұрын
как успехи
@user-oy5ob9gp2k
@user-oy5ob9gp2k 10 ай бұрын
Здравствуйте. У вас в этом уроке похоже ошибка. В функции Foo2(), при возврате объекта temp не происходит копирования и конструктор и деструктор в таком варианте вызываются по одному разу. Проверьте пожалуйста и ответьте, если не прав я, то не пойму почему у меня работает эта схема иначе. А в общем очень признателен Вам за Ваши качественные труды, очень полезный и доступный курс.
@sleepyNovember_project
@sleepyNovember_project 5 ай бұрын
Тут среди более свежих комментариев человек писал о этой проблеме, у него так же Похоже с обновлениями VS что-то там поменяли
@armanmanukyan1970
@armanmanukyan1970 4 жыл бұрын
Выскажусь по поводу всего курса. Канал - шикарный. Подача материала - просто о сложном.Без воды, все по делу.Хотелось бы, в Вашем изложении, разобраться с конструкторами переноса и, в целом, с "move semantics".Спасибо за Ваш труд.
@iouribalachov2108
@iouribalachov2108 2 жыл бұрын
Долго держался, но вынужден признать - преп и его уроки гениальны!!! Другим далеко в объяснении подобных сложных вещей!!! Благодарю, и успехов и процветания !!!
@yanvolkovich1414
@yanvolkovich1414 5 жыл бұрын
спасибо тебе хороший и умный человек за твои уроки, если бы не ты, не знаю как бы в этом всем разбирался, комменты никогда не пишу, но уроки настолько хорошие, что нельзя не поблагодарить, здоровья тебе и твоим близким!
@ebjikkolu4757
@ebjikkolu4757 6 жыл бұрын
Что происходит,что происходит....Уже не понимаю ,что происходит,как только закончилось процедурное программирование и началось объектно-ориентированное))))
@deltaeptat1546
@deltaeptat1546 3 жыл бұрын
Я всё же не понимаю, что тут сложного? Как по мне ОО программирование раз в 100 легче процедурного. Кста, какой результат за 2 года? :)
@Heart_of_the_world_1985
@Heart_of_the_world_1985 3 жыл бұрын
Главное не сдаваться и "грызть"! Не получается - ляг отдохни, а потом запускай плуги глубже - по предложению, отдельному слову... Смысл в том, что данный урок аккумулирует в себе знания и терминологию предыдущих уроков. Твои знания еще не достаточно сжаты в "оперативке", чтобы свободно ими оперировать образно-виртуально и ты не успеваешь за логикой подачи информации - лист бумаги, код - рисуй и делай свою "область тьмы" светлой! Сергей - киберхристос - такие знания за какой-то лайк)))
@Kokurorokuko
@Kokurorokuko 3 жыл бұрын
@@Heart_of_the_world_1985 "По отдельному слову" реально работает. Когда понимаешь каждое отдельное слово, нетрудно понять смысл предложения. А потом эти предложения вместе собираются во вполне осмысленный текст.
@Isturfore
@Isturfore Ай бұрын
как успехи
@bookuha
@bookuha 3 жыл бұрын
Спасибо большое! Зашло на ура) хоть и появлялись сомнения о выборе карьеры и мысли о тщетности бытия, но к середине урока всё просто мигом прояснилось
@elvinaustin1022
@elvinaustin1022 5 жыл бұрын
Спасибо Серега , за 3 захода все понял досконально, все разложилось в голове по полочкам на третий раз просмотра )). Спасибо еще раз от души. По книги это можно неделю изучать )))
@Bagasl
@Bagasl 5 жыл бұрын
Автор, это лучший курс русском ютубе по программированию в принципе, даже если рассматривать другие языки. Огромное тебе спасибо за то, что ты объясняешь всё, что под "капотом" происходит. Именно то, что я искал. Можешь посоветовать какие нибудь книги, чтобы лучше понять процессы, которые происходят на низком уровне, вроде работы памяти, garbage colector'a и тд. Не именно в плюсах, а вообще в целом при программировании
@sadMilkT_T
@sadMilkT_T 4 жыл бұрын
По вашим урокам понял и изучил больше чем за 2 семестра в институте, вот бы все преподаватели также хорошо всё объясняли, спасибо вам огромное!
@Empty_line
@Empty_line 10 ай бұрын
Привет как успехи? Можешь ответить на вопрос? Почему другой: 16:04
@Isturfore
@Isturfore Ай бұрын
как успехи
@user-ci4fs5jv8r
@user-ci4fs5jv8r 4 жыл бұрын
После первого просмотра понял что тема совсем непростая, пришлось откатится назад к уроку по копированию данных из массива в массив. Хотелось бы больше практических занятий по данным урокам, это как пожелание. . Ещё раз спасибо за уроки.
@archiechellaut9483
@archiechellaut9483 2 жыл бұрын
Большое спасибо вам за урок и прекрасное пояснение, Сергей!
@osinandrey73
@osinandrey73 4 жыл бұрын
Из выше сказанных уроков все было относительно понятно, при написании кода. По этот урок!!! Суть понятна, написать такое копирование сложно. Буду пересматривать. Спасибо Сергею за такие уроки.
@woodlandfantomas2044
@woodlandfantomas2044 3 жыл бұрын
Отличное изложение. Пользуюсь Вашими уроками как справочником, когда нужно восстановить то, что забыл.
@zvoni03
@zvoni03 5 жыл бұрын
наверное где-то с 22ой минуты потерял связь) спасибо за урок) на вас держится весь ютуб, благодаря вам он не помойка
@user-pk3tq5vk9b
@user-pk3tq5vk9b 4 жыл бұрын
Это гениально. Настолько детальный сложный разбор и ты реально смог это объяснить. Спасибо большое! Было сложно. Прервался на третьей итерации просмотра=)
@yegorpo2043
@yegorpo2043 6 жыл бұрын
Спасибо за проделанную работу
@SibMetalStarlight
@SibMetalStarlight 5 жыл бұрын
Поставил на паузу на 5:08, пишу. При передаче параметра по значению, внутри функции создаётся локальная копия переменной (того типа, который указан в списке принимаемых параметров). Из памяти - честно, как и просили :) Сегодня сложный, но достаточно хорошо разжеванный урок. Спасибо за работу!
@gritsienkooleg3447
@gritsienkooleg3447 5 жыл бұрын
Спасибо огромное за ваши видео, приятно, когда не упускают ни одного момента и досконально объясняют, запоминается лучше, понятно всЁ!
@Isturfore
@Isturfore Ай бұрын
как успехи
@kaliban12
@kaliban12 Жыл бұрын
Работаю в студио 2022 и на этапе, когда создаем функцию Foo2(), у меня нет второго вызова деструктора, синтаксис абсолютно одинаковый, но при этом. при прохождении return temp; он не заходит в деструктор еще раз.
@sae9016
@sae9016 6 ай бұрын
Скорей всего просто обнова и тут работает по другому у меня тоже самое . просто до этого в кометах и про strcat_s писали
@user-mn3qb2vk5k
@user-mn3qb2vk5k 2 ай бұрын
такая же проблема. Надо посмотреть при создании динамического массива будет ли ошибку показывать или нет.
@Isturfore
@Isturfore Ай бұрын
+ также
@kabanenko5319
@kabanenko5319 3 жыл бұрын
Спасибо большое, очень понятно все объяснил. После твоих уроков так и хочется придумать себе задачку по теме и решить ее.
@able_channel4811
@able_channel4811 2 жыл бұрын
Дядя я тебя обожаю. Оооооочень помог. Спасибо огромное. Лучше курса на ютубе чем ваша работа - нет
@user-pb4yv2et2i
@user-pb4yv2et2i 6 жыл бұрын
Ничего не понял. Буду пересматривать.
@vladivchenko873
@vladivchenko873 4 жыл бұрын
VSЁ мне понадобилось пересмотреть 3-4 раза чтобы что-то понять)
@lacklacktriplehack4174
@lacklacktriplehack4174 3 жыл бұрын
я конечно не гений и никогда себя таковым не считал но чего сложного то? перед просмотром ролика аж на пол часа решил глянуть комменты мол "ёмана щито происходит" подумал блин походу будет сложно посмотрел на одном дыхании и вообще не выкупил где же cyko это сложно то?
@user-pb4yv2et2i
@user-pb4yv2et2i 3 жыл бұрын
@@lacklacktriplehack4174 ну молодец, что еще скажешь то тебе))
@Evgeny..
@Evgeny.. 3 жыл бұрын
Посмотрел 2 раза и не до конца понял)
@user-ln2qd8sy9z
@user-ln2qd8sy9z Ай бұрын
​@@lacklacktriplehack4174держи в курсе. Если что ты остался таким же долбоебом даже поняв этот ролик
@svitlanashpilova6407
@svitlanashpilova6407 2 жыл бұрын
Действительно тяжелый урок. Благодарю.
@wizardnaiji9636
@wizardnaiji9636 5 жыл бұрын
Готовлюсь к собесам по этим видео. В голове всё держать довольно тяжело без серьёзного опыта, и спасибо огромное, что ключевые вещи закрепляете крайне наглядными и простыми примерами. Серьёзно, спасибо
@alexandrkarpov4544
@alexandrkarpov4544 3 жыл бұрын
Ну как собесы прошли?)
@wizardnaiji9636
@wizardnaiji9636 3 жыл бұрын
@@alexandrkarpov4544 да успешно. Уже второй год в компании пошёл, Мейерс и Яцек Галовиц затащили всё )
@alexandrkarpov4544
@alexandrkarpov4544 3 жыл бұрын
Wizard NaiJi отлично 👍
@VS-le2ep
@VS-le2ep Жыл бұрын
@@wizardnaiji9636 а названия самих книг можно?
@user-ko2ml4ey8w
@user-ko2ml4ey8w 6 жыл бұрын
Спасибо Вам большое за Ваш огромный труд!
@user-bn8eb7um1g
@user-bn8eb7um1g 3 жыл бұрын
Пусть С пятого раза, но я все понял !!! Терпение и труд все перетрут ... спасибо Сергей за ваш труд!
@yuriynesterenko9280
@yuriynesterenko9280 5 жыл бұрын
Спасибо за труды!) Довольно сложная тема в С++, но без нее никак!
@Isturfore
@Isturfore Ай бұрын
как успехи
@user-gn8bs5de5y
@user-gn8bs5de5y 4 жыл бұрын
Зашел спустя полгода после первого просмотра данного видео, теперь все понятно, спасибо, Сергей!
@LenTos1337
@LenTos1337 6 жыл бұрын
Спасибо вам большое за урок, как всегда. Очень сложная тема, но вы как всегда всё детально объяснили, и я даже умудрился всё понять! Ещё раз, огромнейшее вам спасибо за труд
@rostyslavklyba1746
@rostyslavklyba1746 5 жыл бұрын
Спасибо Вам Сергей, хорошие уроки. Этот урок довольно сложный, нужно смотреть несколько раз.
@rayansamerkhanov5438
@rayansamerkhanov5438 3 жыл бұрын
Спасибо, ты просто бог по объяснению. Все очень понятно и круто!
@Castom_Omut
@Castom_Omut 9 ай бұрын
Из 82 уроков этот, пожалуй, самый непонятный.. И это с учётом того, что в параллельном окне сразу открыт компилятор.. Точно придется еще как минимум раз пересмотреть..
@nameundef8076
@nameundef8076 4 жыл бұрын
Очень толково объяснено. Тем, кому сложно - посоветую изучить работу с указателями, в рамках того же языка Си.
@bodamat
@bodamat 4 жыл бұрын
Спасибо большое! Урок хоч очень длинний, но очень важний. Я много чего понял. Спасибо еще раз!
@alexdi5423
@alexdi5423 5 жыл бұрын
Немного пояснений. Конструктор копирования - это тот же самый обыкновенный конструктор, который срабатывает при создании обьекта. Но благодаря перегрузке срабатывает код конструктора который принимает в качестве параметра объект.
@aleksandrdrobyshev7623
@aleksandrdrobyshev7623 4 жыл бұрын
Жаль, что нельзя помечать коментарии как-то, типа "ценный", чтоб они вылезали поверх всего мусора, что тут написали.
@wasony.126
@wasony.126 4 жыл бұрын
👏👏👏👌
@SmileTop8067
@SmileTop8067 5 жыл бұрын
спасибо за подобного рода уроки)
@jane5082
@jane5082 3 ай бұрын
Спасибо, очень понятный разбор!!
@circularka9513
@circularka9513 5 жыл бұрын
Спасибо огромное. Даже не знаю, как бы я понял эту тему без вашего объяснения
@artembystrov1113
@artembystrov1113 2 жыл бұрын
Довольно легко если все уроки смотреть, спасибо за ролик!)
@aln9391
@aln9391 6 жыл бұрын
Супер!!! Спасибо.
@user-cc2nw6eh3k
@user-cc2nw6eh3k 5 жыл бұрын
Огромное спасибо, все очень доходчиво! При том, что до этого я работал только на С и плюсов не касался все понял. Первый видос из которого смог что-то вынести
@MosqRap
@MosqRap 5 жыл бұрын
Помню смотрел твои видосы, когда у тебя еще были лишь сотни просмотров) Вот сейчас пересматриваю, т.к. через месяц гос. экзамен, и нужно всё повторить) Спасибо за твой труд!
@Isturfore
@Isturfore Ай бұрын
как успехи
@igorbologov8452
@igorbologov8452 Жыл бұрын
2 года назад начал с ваших уроков, сейчас уже работаю программистом, с тех пор познакомился с Си, Rust, Python. Сейчас снова нужно было начинать писать на с++, возвращаюсь иногда к урокам, чтобы освежить некоторые моменты и понастальгировать:) Спасибо огромное!
@By_B0SS
@By_B0SS Жыл бұрын
а как вы учились и потом вот запоминали это все ? может смотрели еще что то кроме этих уроков ? когда учились здесь или вообще как вы осваивали язык когда начинали учиться ?
@igorbologov8452
@igorbologov8452 Жыл бұрын
@@By_B0SS начинал с этих уроков, потом переключился на написание шейдеров, помимо этого еще кучу разных видосов смотрел, повторял, что делают ,пытялся сам разобраться. Купил курс в универе по питону, его прошел чисто по приколу. Алгоритмы и с труктуры данных наше все и куча практики. И я всё равно еще лошара, так что да, это нелегко
@SimpleCodeIT
@SimpleCodeIT 6 жыл бұрын
#конструкторкопирования #ООП #SimpleCode #урокипрограммировани
@rajinthunderkeg5005
@rajinthunderkeg5005 5 жыл бұрын
Огромное спасибо за столь качественный материал, Сергей! С первого раза не зашло, только после нескольких просмотров мой разум прозрел и я понял, что здесь к чему :) Главное - долбить в одну точку и не останавливаться и тогда точно всё получится!)
@Isturfore
@Isturfore Ай бұрын
как успехи
@parampampam4477
@parampampam4477 5 жыл бұрын
Большое спасибо за уроки
@Nikitunr2013
@Nikitunr2013 3 жыл бұрын
Фух. С 4-го раза понял. Оказывается все было очень просто... Спасибо за годный видос, однозначно лайк!) Если кому поможет - this для каждого индивидуален, так как в параметре функции мы вводим новую переменную как ссылку, то имеем право пользоваться данными класса, который был отправлен в параметр функции...
@user-nw5iw5ew9z
@user-nw5iw5ew9z 4 жыл бұрын
Спасибо! Сложный урок, но интересный. Думаю еще раз пересмотрю и с отладчиком пройдусь повторно.
@dekstor5657
@dekstor5657 5 жыл бұрын
Непростой урок, но ближе к середине я понял к чему это конструктор. Спасибо за урок!
@user-iz3bb6uv6k
@user-iz3bb6uv6k 4 ай бұрын
Февраль 2024, очень понятно и приятно изучать плюсы по вашим видео. Некторые моменты очень удивительны после питона:)
@user-hz4ho1ox1q
@user-hz4ho1ox1q 4 жыл бұрын
Спасибо за знания !
@qIKraytonIp
@qIKraytonIp 5 жыл бұрын
2дня сидел учил, пересматривал , но в итоге понял , спасибо!
@disgust9862
@disgust9862 3 жыл бұрын
четвёртый раз пересматриваю, спасибо за труды
@rizabekutegenov5423
@rizabekutegenov5423 4 жыл бұрын
Спасибо вам огромное!
@user-gl7pe3io7p
@user-gl7pe3io7p 3 жыл бұрын
Ну сложно для восприятия, но после второго просмотра стало всё ясно. Спасибо большое за урок
@SweeTShooT
@SweeTShooT 5 жыл бұрын
огромное спасибо за проделанную работу
@aviator9514
@aviator9514 2 жыл бұрын
Информативненько, как и всегда )
@user-jt9ql8lo6s
@user-jt9ql8lo6s 6 жыл бұрын
за неделю 90 видосов просмотрено, спасибо за труд
@Kokurorokuko
@Kokurorokuko 3 жыл бұрын
Главное - смотреть вдумчиво. Хорошо, если Вы так и делаете.
@user-oc8ck2sg1b
@user-oc8ck2sg1b 18 күн бұрын
Спасибо огромное, ждём новых уроков!
@rearden3820
@rearden3820 5 жыл бұрын
Раза со второго все понял, спасибо за урок!
@oraclevb5430
@oraclevb5430 4 жыл бұрын
тема сложная но обесняете вы очень хорошо со 2 попытка получилось понять спасибо вам огромное
@s4ymyn4me44
@s4ymyn4me44 10 ай бұрын
Для тех, кто не понял: в случае, когда мы имеем дело с динамическим массивом (а не просто с какой-нибудь переменной), конструктор копирования по умолчанию копирует поля объектов (неглубоко), т.е. указателю на массив нового объекта присвоится адрес массива скопированного объекта, а фактически мы будем иметь один и тот же массив. В таком случае у нас после выхода из области видимости функции будет вызываться деструктор для обоих объектов, но очищать память они , что приведет к ошибке. Чтобы этого избежать, нам нужно написать конструктор копирования (глубокого) такой, что копироваться будет не указатель на один и тот же массив, а создаваться новый массив со скопированными из него элементами, тогда деструктор скопированного объекта будет удалять "свой" массив.
@user-vs3er5km1f
@user-vs3er5km1f 4 ай бұрын
.
@user-ln2qd8sy9z
@user-ln2qd8sy9z Ай бұрын
Конч, ты не умеешь объяснять, куда ты лезешь. Поля, глубокого, неглубокого- все термины впихнул, чтоб усложнить. Иди пиши свой говнокод лучше
@user-nz3ig3wv5j
@user-nz3ig3wv5j 4 жыл бұрын
Большое спасибо!
@lexus952610
@lexus952610 3 жыл бұрын
На третий раз понял спасибо)+ отдохну перед третьим просмотром)
@viktoriiachvykova2026
@viktoriiachvykova2026 4 жыл бұрын
Спасибо, отличное видео!
@raztarg4adchadov914
@raztarg4adchadov914 2 жыл бұрын
Здравия всем родам!!! Ёлы палы. 2 дня разбирал этот урок. Мудрость приходит с годами, но в основном годы приходят одни))
@bulba1995
@bulba1995 2 жыл бұрын
Поставил на паузу и понял что я ошибся после просмотра 34 видео . Попутал все . Но спасибо постараемся запомнить. Уверенн что еще буду пересматривать много раз ваши видео .
@vadimturok59
@vadimturok59 3 жыл бұрын
Пересмотрел видео 2 раза, со второго раза наконец-то понял, для меня как новичка сложновато но справился
@joyvektor451
@joyvektor451 Жыл бұрын
Спасибо за урок!
@Empty_line
@Empty_line 10 ай бұрын
16:03 Что это значит😶?
@user-db5ni1ju6k
@user-db5ni1ju6k 2 жыл бұрын
Хочу сказать спасибо от всей души, в этом видео я нашёл решение проблемы которую не мог решить неделю, и это не шутка)
@antilocal6448
@antilocal6448 5 жыл бұрын
Спасибо,очень помог!
@youjustillusion536
@youjustillusion536 4 жыл бұрын
Создается копия той же переменной, которую мы передаем) Класс!
@panschindler9370
@panschindler9370 4 жыл бұрын
С первого раза понял на пол шишечки, а со второго на все 100!! Спасибо, люблю вас, Сергей))
@wasony.126
@wasony.126 4 жыл бұрын
И что ты понял поделись
@ton12047
@ton12047 Жыл бұрын
Ну что сказать? Посмотрел первый раз - кое-что стало ясно, до далеко не все. Очевидно надо еще раз или два посмотреть. Тема действительно не очень простая. Очень очень жаль что нет заданий которые могли бы хоть как-то закрепить материал. Пытаюсь вспомнить что, и зачем я изучал в районе 40-х или 50-х уроков и ничего толком не помню. Хотя бы 100-200 задачек бы на этот курс , был бы от курса совсем другой прок. Ну огромнейшая благодарность автору! Зачем мне все эти знания я и сам не знаю, но учиться по этому курсу-большое удовольствие.
@Empty_line
@Empty_line 10 ай бұрын
16:03 Что это значит😶?
@user-zq5dz5yx9s
@user-zq5dz5yx9s 6 жыл бұрын
Огромное спасибо!)
@dimasavukov6230
@dimasavukov6230 5 жыл бұрын
Сергей! Спасибо Вам за проделанную работу ! Вьехал в тему только наверное с 7 раза . в учебниках рассказывают про конструктор копирования очень размыто. (искал в 5 книжках). Если устроюсь в сфере IT, то свою первую зарплату - отправлю в помощь Вашему каналу !!!!
@Wardriving666
@Wardriving666 4 жыл бұрын
Ну как, устроился?
@user-yg8mt9fy8l
@user-yg8mt9fy8l 3 жыл бұрын
@@Wardriving666 А ведь он до сих пор не ответил
@Wardriving666
@Wardriving666 3 жыл бұрын
@@user-yg8mt9fy8l Я не сомневался что не ответит >:)
@gamepwoandrey
@gamepwoandrey 2 жыл бұрын
чел ты как там? устроился или нет?
@geroitruda8157
@geroitruda8157 2 жыл бұрын
@@gamepwoandrey , походу так его никто и не взял на работу.
@viktort9326
@viktort9326 3 жыл бұрын
28:31 Для чего тут мы используем this->date=new int [other.Size] ; ?? Нельзя ли просто написать this->data= new int [ this->Size] ? Или this->data= new int [ Size] ? Ведь мы уже выше в коде скопировали this->Size = other.Size
@ilya4068
@ilya4068 Жыл бұрын
можно , просто он это писал раньше чем this->Size->other.Size
@seezentzort
@seezentzort 3 жыл бұрын
самый лучший канал!
@user-ol9es1ch9x
@user-ol9es1ch9x Жыл бұрын
привет из 2023, спасибо большое за уроки!
@Empty_line
@Empty_line 10 ай бұрын
16:03 Что это значит😶?
@almatytelecom1
@almatytelecom1 3 жыл бұрын
я все понял, но до этого читал много , и в книге было непонятно.... но с помощью ваших уроков . Все уложилось. Самое главное понимать смысл передачи и возврата по ссылке. Ну и по значению... Особенно это касается указателя this. А и еще я так понял отладчик это пипец тема для изучения внутренних принципов работы компилятора!
@lidia7982
@lidia7982 3 ай бұрын
Это реально легендарный урок! =)
@seastraus1
@seastraus1 4 жыл бұрын
При передаче объекта класса MyClass в функцию Foo по значению в ней будет создан еще один такой же объект, но с одним отличием вместо данных он будет содержать указатели на данные первого объекта.Таким образом на момент работы функции Foo мы будем иметь два объекта которые указывают на одни и те же данные. С окончанием работы функции Foo отработаем деструктор локального (второго) объекта уничтожив как сам объект, так и данные на которые он ссылается. Далее с окончанием работы функции main() будет вызван деструктор первого объекта и при попытке уничтожить не существующие данные по уже битому к тому времени указателю на данные мы получим исключительную ситуацию (вылет).
@maestro_88-
@maestro_88- 3 жыл бұрын
Сергей, подскажите где поставить настройку чтобы при создании циклов в скобочках появлялся шаблон где Inti i
@bama2619
@bama2619 2 жыл бұрын
Спасибо Узнал о потенциальной ошибке копирования Важный момент
@nightgames3158
@nightgames3158 2 жыл бұрын
Вроде и понял,а вроде и нет.Мой мозг после этого сделал сальтуху.Ёщё пару раз посмотрю и пойму:)СПАСИБО ЗА УРОК)))
@BobTheBuilder_2334
@BobTheBuilder_2334 6 жыл бұрын
ох как тяжко заходило)
@Kokurorokuko
@Kokurorokuko 3 жыл бұрын
@@fodermoll7128 сеньор-помидор
Climbing to 18M Subscribers 🎉
00:32
Matt Larose
Рет қаралды 30 МЛН
🍕Пиццерия FNAF в реальной жизни #shorts
00:41
Собеседование Junior C++
45:32
Ambushed Raccoon
Рет қаралды 100 М.
Зачем нужны указатели в C++?
8:14
Что такое операционная система и как она работает
2:01:08