*Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)*
@Lev_LK6 жыл бұрын
#SimpleCode привет! Решил для себя изучить языки программирования, начал с с++. В дороге читаю Шилдта и SoloLearn(интересно узнать твое мнение про эту программу на андроиде), а вот дома практикуюсь по твоим видеоурокам - все доходчиво и понятно, спасибо за это!
@alexeygrigorev43176 жыл бұрын
Разница в использовании префиксного и постфиксного инкремента/декремента для итераторов в том, что в случае префиксного итератора, в теории, просто изменяется состояние объекта, и потом он возвращается, а при использовании постфиксного инкремента, состояние также изменяется, но возвращается объект с предыдущим состоянием, т.е. для этого компилятору необходимо создать ещё 1 объект. Это влияет на скорость работы. Но, вроде как современные компиляторы уже могут сами оптимизировать подобные случаи, и скорость работы не отличается. Но для себя я всё же сделал вывод, что если использование префиксного и постфиксного инкремента не влияет на правильность ответа, то предпочтительно использовать префиксный инкремент.
@stensej68414 жыл бұрын
Примерно знал что именно так , Но этот ответ более адекватный и понятный нежели мой ! Спасибо !
@user-xi5bd3hv1d Жыл бұрын
честно говоря я сидел вахуе что такой элементарный момент спрашивается при том что был "урок" с материалом на тему перегрузки элементов
@alexeygrigorev4317 Жыл бұрын
@@user-xi5bd3hv1d честно говоря, я в ахуе, что 5 лет назад я мог высерать такие формулировки из своей ныне тупой головы
@user-md2zn1zj6b11 ай бұрын
@@user-xi5bd3hv1d он его спросил скорей всего чтобы люди которые забыли этот урок вспомнили его
@lovxxs10 ай бұрын
Крут, молодец
@user-ci2ku2oo5u6 жыл бұрын
Если мы хотим только увеличить значение итератора, то получается, что префиксная форма предпочтительна. Поэтому, один из советов по микро-оптимизации программ писать «for (it = a.begin(); it != a.end; ++it)» вместо «for (it = a.begin(); it != a.end; it++)». В последнем случае происходит создание ненужного временного объекта, что снижает производительность. Скорость работы в Release версии: iterator++. Total time: 0.87779 ++iterator. Total time: 0.87753 А теперь ответим на вопрос, зачем же тогда стоит менять it++ на ++it. Замерим скорость работы Debug версии: iterator++. Total time: 83.2849 ++iterator. Total time: 27.1557
@ustavshayabulochka4 жыл бұрын
Большое спасибо за ваши уроки! Вы помогли мне сдать программирование на 1 курсе)) Так понятно и доходчиво не всякий преподаватель объяснить сможет. Всего вам наилучшего, очень рада, что наткнулась на вас😀👍
@Matissed3 жыл бұрын
А сейчас есть программирование ?
@mishakalashov14966 жыл бұрын
Огромное спасибо!!!! Единственный канал где возможно выучить С++, пожалуйста не останавливайся))
@andrewbistroff75586 жыл бұрын
Спасибо Сергей за ваши труды!
@artlinestudio67352 жыл бұрын
Огромное спасибо Сергей! Отличный урок! Лайк! Просим продолжения по С++.
@vladalu97946 жыл бұрын
Спасибо большое за отличный урок, и задание для самообучения!
@user-fb7do4nc6r Жыл бұрын
Контент в кайф давай ещё по больше такого, не останавливайся
@arthurr1729 ай бұрын
спасибо за урок)двигаемся дальше, сложно но это того стоит
@segars96047 ай бұрын
Спасибо за бесценный труд!)
@Antonov_Ivan.7 ай бұрын
Спасибо за урок!
@user-wl3bo7hp9v4 жыл бұрын
Огромное спасибо за предоставленную информацию!
@SimpleCodeIT6 жыл бұрын
#liststl #SimpleCode #урокипрограммирования
@KurpatovInstagram6 жыл бұрын
спасибо!
@Ermine8826 жыл бұрын
Спасибо за урок.
@denned41924 жыл бұрын
Постфиксный инкремент обременен задачей сохранения и возврата старого значения итератора. Это требует времени и усилий, что, как правило, делает его медленнее.
@miroslavklyukovsky6832 жыл бұрын
Спасибо!!!
@starshow40016 жыл бұрын
спасибо крутые ролики.... ты топ
@San-uf5hm3 жыл бұрын
Хочу добавить, что метод erase возвращает итератор на следующий элемент после удаляемого
@C2H5OHH2 жыл бұрын
У меня потребовалось использовать template , только так заработало, по другому никак!
@user-vs6kl8ph5v Жыл бұрын
572 это как мем с цифрой 6 и подписью "четыре"
@user-it2ov1bx6m6 жыл бұрын
тебя вся моя школа смотрит!!!!!!!!!
@igorwilson12205 жыл бұрын
@@user-kl4ih8bj5p +
@andrewbistroff11996 жыл бұрын
Спасибо Сергей за уроки!
@kerril1309b4 жыл бұрын
Спасибо за качественный контент
@xikmatillosultonov89594 жыл бұрын
Thank you !!!!!!!!!!!!!!!!!!!
@Ivan-Shyriaiev4 жыл бұрын
Спасибо за урок
@firdavs55902 жыл бұрын
Спасибо вам я из 🇺🇿
@one1axis3 жыл бұрын
Спасибо за урок)
@user-hm9so3vx8g Жыл бұрын
Разница между префиксным и постфиксным инкрементом заключается в том, когда происходит увеличение значения итератора. Префиксный инкремент выполняет операцию увеличения итератора и затем возвращает новое значение. Например, если у нас есть итератор i со значением 3, то префиксный инкремент ++i увеличит i до 4 и вернет 4. Постфиксный инкремент также выполняет операцию увеличения итератора, но возвращает его старое значение. Например, если у нас есть итератор i со значением 3, то постфиксный инкремент i++ вернет 3 и затем увеличит i до 4. В большинстве случаев разница между использованием префиксного и постфиксного инкремента не имеет большого значения. Однако есть некоторые ситуации, когда это может быть важно. Например, если мы используем итератор в цикле и хотим, чтобы его значение увеличивалось перед выполнением каждой итерации, то нам следует использовать префиксный инкремент. Если же нам нужно использовать значение итератора до его увеличения, то нам следует использовать постфиксный инкремент.
@f3ops381 Жыл бұрын
ну так оно звучит, но почему тогда, используя префиксную инкрементацию, мы не пропускаем первый элемент коллекции? то есть мы получаем указатель на begin, дальше идет инкрементации и по идее в этой итерации мы были бы должны использовать уже следующий элемент.
@sargeus2 жыл бұрын
Ещё интересны методы - splice и merge, но я думаю они не так часто используются, а видеоурок увеличился бы минут на 20
@user-mv6eo2rm6h Жыл бұрын
А зачем нужны эти методы?
@catastrophic37093 ай бұрын
Постификсный оператор инкремента, возвращает значение с запозданием, которое будет лишь копией инкрементируемой сущности. Префиксный непосредственно возвращает инкрементируемую сущность
@viper_00976 ай бұрын
Уже до этого видео интересовался таким вопросом, поэтому знаю ответ: префиксный инкремент сначала увеличит переменную на единицу, а потом вернет значение, а постфиксный вернет текущее значение переменной и прибавит единицу переменной. в цикле for разницы между ними никакой, потому что итератор не используются во время использования оператора
@bladegaming7082 ай бұрын
В префиксной форме до использования переменной она меняется, а в постфиксной после
@mr.4ilyman897 ай бұрын
Разница постфиксого и префиксного инкремента в циклах в том, что когда постфиксный, то i будет итерироваться в конце тела цикла, а префиксного в том, что сначала i итерируется, а только потом происходит тело цикла
@user-hb7er4ff9u2 жыл бұрын
спасибо
@borisshabanov67026 жыл бұрын
Лайк однозначно!
@user-vl5oc8up1h6 жыл бұрын
дякую!
@kelvin74477 ай бұрын
Постфиксный итератор возвращает еще и предыдущее значение, в отличие от префиксного, из-за чего при дебаге уменьшается скорость работы.
@sashatim82446 жыл бұрын
Спасибо!
@romanbondaruk96823 жыл бұрын
разница в том, что в в префиксном итераторе итератор увеличеваеться и уже увеличенное значение возвращаеться. В случае постфиксновго итреатора значение увеличеваеться но возвращеться старое значение. Это сделано таки образом потому что так работают итератори для простих типов.
@avengeranubis2 жыл бұрын
9:31 Да-да, это определённо точно закономерно и очевидно число пятьсот семьдесят два)
@vladalu97946 жыл бұрын
префиксный инкремент предподчтительней в работе с итераторами так как он изменяет объект и возвращает его, в случае с постфиксным инкрементом итератора - состояние объекта должно измениться, но создается лишний объект
@overdoses17946 жыл бұрын
Благодарю! Уважаемый, Сергей! Я так понимаю list и массивы это что не совсем связанное друг с другом(#include #include #include using namespace std; int main() { setlocale(LC_ALL, "ru"); int jq, temp; cout jq; int *arr = new int(); for (int i = 0; i < jq; i++) { arr[i]; cout
@SimpleCodeIT6 жыл бұрын
На сколько я помню, я много раз говорил, что лист это реализация двусвязного списка.
@overdoses17946 жыл бұрын
да, уже посмотрел урок, просто пока что работаю с javascript и уже слегка начал забывать си(
@abverqas1232 жыл бұрын
Префиксный итератор изменяет состояние обьекта ,а постфиксный итератор состояние также изменяет, но возвращается объект с предыдущим состоянием и ему надо создавать новый обьект
@user-od1sy9uo2v Жыл бұрын
постфиксный вначале создаёт копию переменной, псоле увеличивает её на единицу и только после выполнения всей инструкции происходит подмена оригинала копией.
@oshskiyuzbek48006 жыл бұрын
Krasava
@maksimtkachenko96176 жыл бұрын
Здравствуйте. Не могли бы вы немного рассказать о работе с Сом портами? Было бы очень интересно.
@gosteface95414 ай бұрын
Считается ли то, что я нашел информацию на тему разницы постфиксного и префиксного инкремента путем того, что просто посмотрел следующее видео (Так то информацию я нашел)
@Vitalii_I_am8 күн бұрын
Разница между префиксным и постфиксным инкрементом заключается в том, что префиксный увеличивает итератор ещё до того, как будет выполнена первая итерация цикла в состоянии iterator = List.begin(), т.е. первый элемент списка будет пропущен циклом. В то время как постфиксный позволяет правильно реализовать цикл, когда итерация начинается с .begin() и заканчивается до .end().
@ivanrozb3 жыл бұрын
Если использовать постфиксную модель записи, тогда создастся ненужный временный обьект. Поэтому лучше использовать префиксную форму
@Sashikx_zxc4 жыл бұрын
Спасибо
@sofyabelitskaya2504 жыл бұрын
Подскажите, пожалуйста, как в функции print, без использования auto, инициализировать константный итератор. list::const_iterator i=list.cbegin() Что здесь не так?
@olgmichurinskiy46784 жыл бұрын
list::const_iterator i=list.cbegin(), если актуально)
@evgeniyomg9467 Жыл бұрын
Префиксный итератор возвращает новое значение итератора, а постфиксный возвращает исходное значение итератора.🎉
@dailyquote84010 ай бұрын
i = 0 cout
@user-kh1ut5ow4x3 жыл бұрын
Обновите ссылку в описании на двусвязный список, выдает 404
@chaos68284 жыл бұрын
23:00 assign
@user-pr3ey8xf9l5 жыл бұрын
Здравствуйте! А как реализовать список из объектов класса?
@artemherich82032 жыл бұрын
при префиксном не происходит создание временного объекта
@elmarbashirov4685 Жыл бұрын
572 убило💀
@maksim_sashcheka5 жыл бұрын
Не пойму почему они не могли перегрузить оператор [ ] . Столько разных методов , даже блин перевернуть коллекцию можно, а элементарного оператора [ ] нет ...
@kinofilm6634 Жыл бұрын
9:30 572?! 😄😄😄
@faku73782 ай бұрын
Число 572)
@greatskydrake95313 жыл бұрын
Спасибо, разрешите вопрос: если я заполняю list объектами произвольного класса, или даже просто строковыми значениями String, то как будет работать myList.sort() ? Как сортировка поймет что больше, а что меньше ?
@user-vg1sr9ye5s2 жыл бұрын
@@yashmerino А с классами? В данный момент мучаюсь, внутри листа лежат структуры, и не возможно получить доступ к внутреннему элементу такой структуры. Нужны сортировки по разным полям.
@user-vg1sr9ye5s2 жыл бұрын
@@yashmerino В общем оказывается ее нужно было взять в скобки. Меня смутило что cout без скобок выводит содержимое, думал можно к указателю прямо обращаться.
@aram.nett16 жыл бұрын
После 24:50 не понял.... Как бы..мы взяли первый элемент второго листа, и последный элемент первого, тоисть 19 и 99... И оно должно было показывать 99 по 19 штук....не?
@user-rm3eu6we8c6 жыл бұрын
там перегруженная функция,
@pavelkinaev52453 жыл бұрын
Двусвязный список | Динамические структуры данных #2 - ссылка не работает
@vesh955 жыл бұрын
ахахах, 6:40 в голове прозвучал комментарий с текстом: "Ты тупой?" :D
@user-dn6wn4pz5q6 жыл бұрын
а почему у меня не работает auto? Версия С++ 17
@timurortskhanov85276 жыл бұрын
Спасибо за урок. У меня какая то не понятная проблема. У меня class list не подключается и программа не распознает не List не ее объект. Сам написал класс как мы это делали все работает когда вот так List myList; Но когда присваиваю значение как массиву List myList = { 54, 17, 3 }; уже не работает. Кто может помочь почему #include не помогает? Спасибо.
@timurortskhanov85276 жыл бұрын
Короче я разобрался. Я допустил ошибку. Слово list написал с большой буквой List. Но сейчас все работает.
@denyssalvatore95184 жыл бұрын
++i - если так, то мы как бы изначально указываем на уже первый элемент в списке итератору.
@user-qj6tk5fw9p2 жыл бұрын
всем привет. может кто подскажет, если в list не реализован итератор свободного доступа, как мы перенаправляем наш итератор с помошью инкремента (it++), и почему тогда если мы можем перенаправить с помошью инкремента, то не работает запись (it+=1; или it=it+1), ведь по сути эти записи (it+=1; или it=it+1) равносильны записи (it++). ??
@sleepyNovember_project6 ай бұрын
Потому что так
@yankfire32944 жыл бұрын
Разница в том что префикс ный инкремент выводит только следующие число а поствексный выводит следующее но и выводит прошлое число
@denys.martyniuk3 жыл бұрын
а как работать с пользовательскими типами данных? как вывести их например
@tabar_13123 жыл бұрын
для класса можно перегрузить оператор
@denys.martyniuk3 жыл бұрын
@@tabar_1312 вопрос уже не актуален, но спасибо
@nMnFunny4 жыл бұрын
кто смотрит видосы Simple code на скорости x3 ?
@user-yw7ml8jy9i2 жыл бұрын
Я не докапываюсь, но просто написано 979, а вы читаете 572🤔😊😥
@TheWladberlin4 жыл бұрын
А если второй раз revese ?
@sleepyNovember_project6 ай бұрын
Норм
@mrslavyn8896 жыл бұрын
прошо обьесните что делать если ты скачал виртуал студио 2017 как ты рассказывал в видео и оно не грузится причом у меня 8 виндовс
@mrslavyn8896 жыл бұрын
спасибо за совет но можно совет по моей проблеме
@redmakhnovets92136 жыл бұрын
поставь галочку std 8.1.0
@mrslavyn8896 жыл бұрын
большое спасибо за подсказку
@user-vz1oi3ew2c4 жыл бұрын
почему нєзя отак: auto o = a.end(); cout
@denyssalvatore95184 жыл бұрын
потому что метод end() указывает как бы на несуществующий элемент, а как ты получишь доступ к тому, чего не существует.
@Retyioaqe5 жыл бұрын
for (const auto& i : myList) cout
@nonameypog4 жыл бұрын
Самый нормальный способ: ++i++
@mrslavyn8896 жыл бұрын
ура я восьмой
@memorylearn85664 жыл бұрын
+
@vitusink64454 жыл бұрын
Вы говорите что "мы изучили итераторы" Но это только следующий урок. Сами посмотрите на свой же плейлист
@Kokurorokuko4 жыл бұрын
это какой-то баг в ютубе, ролик с итераторами вышел раньше
@pavelios35775 жыл бұрын
Спасибо за урок.
@oylalive4673 жыл бұрын
Спасибо!
@DD0S23 жыл бұрын
спасибо
@user-yw7ml8jy9i2 жыл бұрын
Я не докапываюсь, но просто написано 979, а вы читаете 572🤔😊😥