Free YouTube Transcribe

Video transcript

Инкремент и декремент. Постфиксный и префиксный. Пример. Синтаксис. C++ для начинающих. Урок #9.

#SimpleCode · 1,151 words · 6 min read

Want to search this transcript, jump the video from any line, or download it as TXT, SRT, or VTT?

Open in the transcript tool

Full transcript

0:00Приветствую вас, друзья. Меня зовут

0:01Сергей, и мы с вами продолжаем изучать

0:03язык программирования C++. Прошлой нашей

0:06темой были операторы, и, собственно, мы

0:09с вами более детально уделили внимание

0:12арифметическим операциям. У нас даже

0:14было домашнее задание по этой теме. И,

0:17собственно, наша сегодняшняя тема будет

0:20тесно завязана на прошлую тему. Так что

0:23если прошлых видео вы не видели, то

0:25обязательно сходите, посмотрите.

0:27Так вам будет намного легче и понятней.

0:30Что же касается нашей сегодняшней темы,

0:33а сегодняшняя наша тема - это инкремент

0:35и декремент. Вообще это тоже операторы,

0:38тоже математические в некотором роде, и,

0:42собственно, они унарные. Но в применении

0:44этих операторов есть кое-какие

0:46особенности. И для того, чтобы вы их

0:49лучше понимали, а именно их я выделил в

0:54отдельное видео, в отдельный урок.

0:56Собственно, что же такое инкремент и

0:58декремент? Допустим, у нас есть

1:00некоторая переменная A,

1:03которая равна единице. Нам её нужно

1:08увеличить, допустим, тоже на единицу.

1:11Как мы это

1:12сделаем? Мы это сделаем вот такой вот

1:16записью. Давайте выведем это всё в

1:19консоль,

1:21посмотрим. Итак, изначально у нас была

1:23единичка, а мы прибавили ещё единичку.

1:25получилась двойка. Инкремент работает

1:28приблизительно так же, только запись

1:31делается вот

1:32так.

1:34После переменной A мы ставим два плюса.

1:37Это значит, что значение вот этой вот

1:40переменной A увеличивается на единицу. А

1:43давайте сделаем вот так вот. Итак,

1:47первый раз у нас

1:49выведется значение нашей переменной A,

1:52которое мы установили ей сразу.

1:54инициализировав её единицей. Дальше вот

1:58таким вот способом мы прибавим единицу и

2:01потом прибавим единицу с помощью

2:02инкремента. Давайте посмотрим, что у нас

2:05получается. 1 2 3, собственно, то, что

2:08мы и хотели. Вот здесь давайте,

2:09допустим, поставим пятёрочку. Теперь

2:12получается результатом вот этого

2:13вычисления у нас будет шесть, а здесь у

2:15нас будет

2:16семь. 1 6 7. Как вы видите, с первого

2:20взгляда всё довольно просто. Кстати

2:22говоря, если мы пишем два плюса - это

2:24инкремент, то есть увеличение на

2:26единицу, а если два минуса - то

2:28декремент, то есть уменьшение на

2:30единицу. Вот здесь у нас была по

2:32умолчанию единица наша, которой мы

2:34инициализировали переменную. Дальше

2:36прибавили пятёрку, получилась шестёрка и

2:38выполнили декремент. А получилась вот

2:41такая вот у нас

2:42пятёрочка. А, но в чём же вы спросите

2:46сложность с этой операцией? А сложность

2:49вся в том, что инкремент и декремент

2:51имеют две формы: префиксная и

2:53постфиксное. И у них разный приоритет

2:56выполнения операции. А сейчас я вам

2:59покажу более детально, что я имею в

3:01виду. Давайте вот эту запись мы вообще

3:02уберём, она нам не нужна. Допустим, у

3:05нас изначально будет наше значение

3:07инициализироваться единицей, и дальше мы

3:09выполняем инкремент. Сейчас у нас будет

3:11двойка.

3:13В данном случае у нас

3:16постфиксное, постфиксный способ записи

3:18инкремента, потому что у нас запись

3:21оператора выполнена после переменной,

3:24над которой мы, собственно, будем

3:25выполнять операцию. Но также ещё имеется

3:28и префиксный способ записи инкремента и

3:31декремента. То есть сам оператор мы

3:34записываем перед переменной. Если мы

3:37сейчас выведём на

3:38экран то, что мы записали, то ничего не

3:42поменялось. Вроде бы работает это всё

3:44так же само, но на самом деле нет. И

3:46сейчас мы с вами проверим, какая же

3:49разница между префиксным и постфиксным

3:51способом

3:52выполнения инкремента. Для этого мы, а,

3:56сделаем инкремент вот таким вот

3:58способом. Прямо в вот этом вот сиауте

4:00сделаем операцию мм инкремента и выведем

4:04ещё раз нашу переменную A.

4:06А нет, пока не будем выводить. Наверное,

4:09вот так вот будет понятнее. Итак,

4:12смотрите, у нас есть переменная A,

4:15которую мы выводим на экран. Она у нас

4:17сейчас со значением единица. Далее у нас

4:21опять есть вывод на экран переменной A,

4:24но здесь выполняется операция

4:26инкремента. А как вы думаете, что мы

4:27сейчас получим на экране? А получим мы

4:32единицу, потому что приоритет вот этого

4:35вот инкремента ниже, чем у всех

4:38остальных операций. То есть сначала мы

4:40выводим переменную на экран, а потом уже

4:43выполняем операцию инкремента. То же

4:46самое с декрементом. Если мы сделаем

4:48минус, то ничего не поменяется. Но а

4:52если мы запишем это в префиксной форме,

4:56то приоритет операции у нас поменяется.

4:58Сначала наша переменная A увеличится на

5:01единицу, а потом уже она выведется на

5:03экран. Как видите, у нас теперь имеется

5:06единица, потом двойка. То же самое и с

5:08декрементом. Декремент и инкремент оба

5:11имеют постфиксную, префиксную форму

5:13записи. Сейчас на экране мы видим ноль.

5:18Обратите внимание и хорошо запомните то,

5:20что сейчас мне рассказал, потому что в

5:22дальнейшем инкрементом и декрементом вы

5:24будете пользоваться постоянно, а, во

5:26всяком случае, постфиксной формой. Так,

5:29точно. А теперь ещё один небольшой

5:31примерчик. Вот это всё мы, наверное,

5:33удалим и добавим сюда ещё одну интовую

5:36переменную B. И ей прислаим вот такую

5:39вот

5:42запись. А, даже вот так вот, наверное. А

5:47инкремент префиксный умножить на А. Как

5:51вы думаете, что мы сейчас

5:54получим? Давайте выведем на экран и

5:56посмотрим. А, да, вывести-то забыл,

6:00конечно.

6:04Cout и

6:07endй. Итак, мы получили четыре. Давайте

6:09же разберёмся, почему так.

6:14Для этого мы даже воспользуемся

6:15отлатчиком. Как пользоваться отлатчиком,

6:18я, наверное, расскажу вам в отдельном

6:19видео. Итак, у нас изначально есть

6:22переменная A, которая сейчас у

6:26нас равна единице.

6:30Далее, как только мы доходим до

6:31одиннадцатой

6:33строчки, а компилятор видит вот такое

6:36вот

6:38выражение: "Операция инкремента,

6:41префиксная у нас имеет наивысший

6:43приоритет, поэтому над переменной A

6:47выполняется м увеличение этой переменной

6:51на единицу.

6:53Поэтому, как только у

6:55нас выполнится операция инкремента, у

6:58нас a будет равно уже 2. Но так как мы a

7:01умножаем на a, то получается у нас здесь

7:05будет умножение 2 на

7:082. Итого результат у нас получается

7:11получается 4. Собственно, вот таким вот

7:13образом это и работает. Хорошо. А если

7:17мы добавим к вот этой вот a постфиксной

7:20инкремент, как вы думаете, поменяется ли

7:22результат нашего вычисления или

7:25нет? Давайте проверим. Ну, скажу я вам

7:28так, что нет, потому что результат

7:32постфиксного инкремента выполнится, вот

7:34этого вот инкремента выполнится уже

7:36после того, как значению B

7:40присвоится вычисление вот этого

7:41выражения.

7:43Давайте для того, чтобы вам было более

7:46понятно, мы будем выводить ещё и

7:48переменную

7:50A. Сделаем это вот так. Итак, сейчас у

7:55нас выбедится переменная B и переменная

7:59A.

8:01Смотрите, переменная B = 4, а переменная

8:04A = 3. Как же так? Ведь если бы у нас A

8:09равно 3, у нас бы результат умножения

8:11был бы девять. А всё потому, что

8:15постфиксная запись инкремента, вот эта

8:17вот часть, выполняется уже после того,

8:20как вот эта вот часть выражения

8:22присвоилась в переменную B. А давайте

8:27уберём вот этот постфисный постфиксный

8:30инкремент и посмотрим, что сейчас у нас

8:32будет в переменной A, а будет там

8:33двойка.

8:38Возможно, для вас это немного сложно.

8:40Если у вас возникают какие-то вопросы,

8:42пишите их внизу под этим видео. В

8:43следующем видео попытаюсь на них

8:45ответить. Ну и на этом у меня сейчас,

8:48собственно, всё. Это пока всё, что хотел

8:50вам рассказать об инкременте и

8:53декременте. И если вам понравилось это

8:55видео, оно было вам полезно и интересно,

8:57то не забудьте поставить под ним лайк и

8:59подписывайтесь на канал, если не

9:00подписаны, чтобы не пропустить новое

9:02видео. Всем спасибо за внимание. Пока.

This transcript was generated from the captions YouTube publishes for this video. Get the transcript of any YouTube video atfreeyoutubetranscribe.com: free, unlimited, no sign-up.