WEBVTT

1
00:06:25.250 --> 00:06:28.550
Михаил Непряхин: Так всем. Привет напишите

2
00:06:30.510 --> 00:06:31.770
Михаил Непряхин: срочно видно

3
00:06:41.810 --> 00:06:44.300
Михаил Непряхин: так Что Там Получилось александра найти,

4
00:06:49.710 --> 00:06:50.970
Михаил Непряхин: четыре Универ

5
00:06:54.810 --> 00:06:55.620
Михаил Непряхин: ну

6
00:07:02.050 --> 00:07:02.840
Михаил Непряхин: так

7
00:07:04.500 --> 00:07:08.450
Михаил Непряхин: кто-нибудь решал задачки Ммм которая

8
00:07:09.260 --> 00:07:13.740
Михаил Непряхин: а в прошлый, Раз, вот добавим к лекции, вот добавить задачки

9
00:07:13.860 --> 00:07:15.510
Михаил Непряхин: Есть. Кто нибудь кто решал

10
00:07:19.980 --> 00:07:22.560
Михаил Непряхин: вот эти вот по указателям

11
00:07:26.420 --> 00:07:27.940
Михаил Непряхин: дмитрия так

12
00:07:29.700 --> 00:07:30.880
Михаил Непряхин: а ты хорошо

13
00:07:31.870 --> 00:07:36.090
Михаил Непряхин: значит смотрите это Задачи Которые Реально могут Попасться на собеседник

14
00:07:36.850 --> 00:07:41.180
Михаил Непряхин: конечно Сейчас это уже Редкость но Тем Не Менее может

15
00:07:43.830 --> 00:07:49.460
Михаил Непряхин: Топ. Один задача это наслайсы вот сегодняшняя тема сегодня будем прославиться разговаривать всю лекцию

16
00:07:49.740 --> 00:08:00.520
Михаил Непряхин: но но указатели, в теории тоже могут спросить вообще как бы чем чувствуют как бы чем слабее вы чем вы как бы

17
00:08:01.700 --> 00:08:07.370
Михаил Непряхин: ну чем больше Указывать на То что вы новичок тем, больше вас грузят Вот этими какими-то задачами

18
00:08:07.740 --> 00:08:11.820
Михаил Непряхин: поэтому важно когда вы их решаете

19
00:08:11.940 --> 00:08:18.250
Михаил Непряхин: проговаривать и Вот я просто буду показывать например, как читать код

20
00:08:18.430 --> 00:08:27.460
Михаил Непряхин: плюс это в принципе указывают на соцкий вы потому что даже если, вы хороший разработчик но еще нужны словски вы то есть грубо говоря как вы общаетесь

21
00:08:27.800 --> 00:08:36.650
Михаил Непряхин: а насколько вы вообще переговоры способны как с Вами как с коллегой вот комфортно некомфортно работать вот и когда дают код

22
00:08:37.429 --> 00:08:40.000
Михаил Непряхин: то есть как бы грубо говоря там на секции

23
00:08:40.169 --> 00:08:43.450
Михаил Непряхин: а на техническом собеседовании вы немного знакомитесь

24
00:08:43.620 --> 00:09:02.640
Михаил Непряхин: и буквально через пять минут вам дают показывают код обычно это в каком-нибудь блокноте который шарится ну есть там разные варианты где можно показать код и Говорят что выведет код То есть как бы классическая задача вы ничего не дописываете, просто вы должны сказать что выведет

25
00:09:03.090 --> 00:09:07.320
Михаил Непряхин: и иногда что нужно исправить чтобы вылилось то что ожидается

26
00:09:08.840 --> 00:09:10.390
Михаил Непряхин: вот и

27
00:09:10.770 --> 00:09:13.190
Михаил Непряхин: александр похоже так. И не зашел да?

28
00:09:13.920 --> 00:09:15.080
Михаил Непряхин: И и

29
00:09:16.070 --> 00:09:23.740
Михаил Непряхин: значит как как читать такие задачи ну вы говорите есть вариант. Когда вы просто допустим смотрите молчите

30
00:09:24.090 --> 00:09:25.680
Михаил Непряхин: и говорите чего выведет

31
00:09:26.500 --> 00:09:35.270
Михаил Непряхин: но это скучно неинтересно и от вас все таки ну? Вот лучше сильно лучше это добавить вам очков если вы будете читать код потому. Что

32
00:09:35.480 --> 00:09:39.680
Михаил Непряхин: вы задачу можете даже решить неправильно

33
00:09:40.430 --> 00:09:46.190
Михаил Непряхин: но если у вас будет Правильный ход мыслей если вы будете Размышлять как гошник то

34
00:09:46.430 --> 00:09:52.110
Михаил Непряхин: ну. Практически сто процентов что вам скажут ну. Ничего страшного как бы пойдут, дальше

35
00:09:52.850 --> 00:10:02.150
Михаил Непряхин: потому что эти задачи по сути они призваны Отфильтровать негошников здесь насбейся задача у интервьюера по Сути

36
00:10:02.520 --> 00:10:14.270
Михаил Непряхин: вот понять, свой вы или Нет то есть такая тест на свой чужой то есть вы как бы залетные тут случайно попали там нарисовали резюме или вы настоящий гошник

37
00:10:14.470 --> 00:10:18.690
Михаил Непряхин: и По большому счету если он понимает что вы Настоящий гошник

38
00:10:18.840 --> 00:10:37.570
Михаил Непряхин: обычно просто на этом и

39
00:10:37.610 --> 00:10:40.740
Михаил Непряхин: до тех пор пока вы не завалитесь или там не обнаружите, себя

40
00:10:40.800 --> 00:10:43.800
Михаил Непряхин: вот значит как читать такие сдачу вы говорите

41
00:10:44.410 --> 00:10:47.860
Михаил Непряхин: значит Мы Объявляем. Переменную

42
00:10:48.540 --> 00:10:49.670
Михаил Непряхин: Пять

43
00:10:50.150 --> 00:10:52.590
Михаил Непряхин: Помещаем. Ее в ви

44
00:10:52.790 --> 00:10:56.310
Михаил Непряхин: значит Берем. От нее указатель

45
00:10:56.570 --> 00:11:01.530
Михаил Непряхин: и вот пью у нас Сейчас указатель Кстати сделал шрифт спецсиг

46
00:11:14.740 --> 00:11:16.470
Михаил Непряхин: да значит Впи У нас указатель

47
00:11:17.190 --> 00:11:18.760
Михаил Непряхин: дальше Мы

48
00:11:19.320 --> 00:11:21.170
Михаил Непряхин: развеи новым. Указатель

49
00:11:21.700 --> 00:11:24.380
Михаил Непряхин: и высоты Аут выводим

50
00:11:25.900 --> 00:11:32.180
Михаил Непряхин: что-то ну Что Мы тут выводим ну очевидно Что Мы тут, выводим Пять то есть высада вот Мы этуводим Пять

51
00:11:33.020 --> 00:11:38.200
Михаил Непряхин: Дальше У нас функция Мы передаем Наш, указатель функцию

52
00:11:39.880 --> 00:11:41.090
Михаил Непряхин: функции.

53
00:11:41.230 --> 00:11:42.870
Михаил Непряхин: Функция принимает

54
00:11:43.200 --> 00:11:44.270
Михаил Непряхин: а аргумент

55
00:11:45.220 --> 00:11:51.690
Михаил Непряхин: указатель По ну Собственно ин-то указатель то есть вот мы его приняли

56
00:11:53.020 --> 00:11:57.040
Михаил Непряхин: мы с Ним сразу ничего Не делаем мы объявляем другую перемену ви

57
00:11:57.190 --> 00:11:59.390
Михаил Непряхин: говорю что она равнотрем

58
00:11:59.530 --> 00:12:03.460
Михаил Непряхин: и от Этой перемены ви берем указатель

59
00:12:03.650 --> 00:12:05.750
Михаил Непряхин: он совпадает

60
00:12:05.910 --> 00:12:18.980
Михаил Непряхин: по имени с аргументам которые мы Принимаем и здесь Нет присвоения даты если мы его Переопределяем он у нас уже тут какой-то пришел мы его перезаписываем

61
00:12:21.340 --> 00:12:28.650
Михаил Непряхин: и дальше мы выходим из функции, функции, ничего не возвращает и дальше мы разименовываем этот показатель и

62
00:12:28.940 --> 00:12:32.490
Михаил Непряхин: аа какое здесь было значение и вот как бы здесь вопрос

63
00:12:32.840 --> 00:12:37.960
Михаил Непряхин: поменяет ли эта функция Наш указатель который Мы в нее передали

64
00:12:39.510 --> 00:12:50.590
Михаил Непряхин: ну. Давайте то не, решал ваше, предположение то Есть поменяется значение то, есть вот здесь мы гарантированно выводим пять то есть как бы я думаю тут сомнений Нет никого но что мы выведем здесь

65
00:12:50.850 --> 00:12:52.420
Михаил Непряхин: пять или три

66
00:12:53.070 --> 00:12:56.180
Михаил Непряхин: Давайте значит Сделаем Ставки Играем в Игру

67
00:12:57.730 --> 00:12:59.060
Михаил Непряхин: пять пять пять

68
00:12:59.580 --> 00:13:04.760
Михаил Непряхин: Давайте лучше. Чего-нибудь Предположить Даже Если Не знаете нас? Что-нибудь Предположите

69
00:13:05.400 --> 00:13:07.440
Михаил Непряхин: А руки запомнится.

70
00:13:12.440 --> 00:13:17.840
Михаил Непряхин: Так Ну смотрите в чем здесь подвох вы видится пять да значит почему пять

71
00:13:18.070 --> 00:13:19.330
Михаил Непряхин: вот в пять пять

72
00:13:20.470 --> 00:13:21.320
Михаил Непряхин: почему

73
00:13:22.110 --> 00:13:26.260
Михаил Непряхин: потому, что мы вот что Мы получили здесь

74
00:13:26.460 --> 00:13:28.260
Михаил Непряхин: Мы здесь получили

75
00:13:29.570 --> 00:13:43.140
Михаил Непряхин: адрес памяти адрес памяти Это просто число да У нас память как бы У процесса Она виртуальна Это не физическая, память это логическая, память и вот в Этой логической памяти мы получили адрес

76
00:13:43.320 --> 00:13:46.340
Михаил Непряхин: то есть указатель на этот адрес

77
00:13:47.090 --> 00:13:52.900
Михаил Непряхин: и мы просто взяли и переопределили его то есть здесь был Один. Адрес

78
00:13:53.570 --> 00:14:01.750
Михаил Непряхин: а мы завели другую перемену взяли от нее указатель и Сказали Что, теперь. Этот указатель рамен другому числу,

79
00:14:02.390 --> 00:14:05.800
Михаил Непряхин: Мы здесь ничего не разменовывали

80
00:14:06.190 --> 00:14:11.870
Михаил Непряхин: как Помните для того чтобы поменять значение надо Разименовать

81
00:14:12.250 --> 00:14:14.720
Михаил Непряхин: вот если, бы Мы разменовали

82
00:14:15.280 --> 00:14:19.890
Михаил Непряхин: сделали вот Так да То вот в Этом случае Оно бы, там бы, Поменялось

83
00:14:20.800 --> 00:14:24.100
Михаил Непряхин: То есть если Нет Разименования

84
00:14:24.510 --> 00:14:27.650
Михаил Непряхин: Это значит Нет Перехода По указателю

85
00:14:27.810 --> 00:14:34.130
Михаил Непряхин: и это значит Что, здесь Мы просто поменяли ну было Там какое То число

86
00:14:34.300 --> 00:14:35.170
Михаил Непряхин: так вот

87
00:14:35.530 --> 00:14:51.100
Михаил Непряхин: указатель это По Сути ин Условному адрес, памяти да какое-то число мы его поменяли и все мы ничего больше не сделали то есть на самом деле это вот единственный вариант таких задач, подвохом про Указатели

88
00:14:51.490 --> 00:14:55.540
Михаил Непряхин: и просто вариации То Есть Какие Еще Есть вариации этого дела

89
00:14:56.680 --> 00:15:10.500
Михаил Непряхин: так Что У нас здесь ну Давайте дальше Смотрим Да значит переменную Помещаем структуру У нас есть структура да что за структура Заперся на нее на поле нэйм стринга

90
00:15:10.630 --> 00:15:13.540
Михаил Непряхин: значит мы политераву

91
00:15:13.750 --> 00:15:17.920
Михаил Непряхин: Объявляем Эту переменную сразу берем от нее указатель

92
00:15:18.720 --> 00:15:22.110
Михаил Непряхин: Перси у нас указатель на инициативную структуру Персон

93
00:15:22.350 --> 00:15:23.690
Михаил Непряхин: с полем на им

94
00:15:23.880 --> 00:15:36.350
Михаил Непряхин: дальше мы выводим здесь полено им ну очевидно что здесь выведется боб тут как бы, тоже сомнений ни у кого, нет дальше Мы пытаемся изменить имя передаем по указателю нашу структуру

95
00:15:36.720 --> 00:15:38.100
Михаил Непряхин: а

96
00:15:38.680 --> 00:15:39.940
Михаил Непряхин: заводим

97
00:15:40.790 --> 00:15:43.920
Михаил Непряхин: и Опять как бы инициализируем еще одну структуру

98
00:15:44.040 --> 00:15:45.760
Михаил Непряхин: и помещаем в этот указатель

99
00:15:46.810 --> 00:15:56.710
Михаил Непряхин: ну в общем та же самая история понятное дело Что Это Не сработает потому Что нету звездочки нету разименования Поэтому здесь Тоже будет боб и любов два раза

100
00:15:56.830 --> 00:15:57.900
Михаил Непряхин: То есть как бы

101
00:15:58.880 --> 00:16:02.960
Михаил Непряхин: точно такой же случай Как Симптом Только Структура

102
00:16:04.340 --> 00:16:10.450
Михаил Непряхин: в случае структуры если Мы хотим, Там поменять Ну да нам в Любом случае нужно разомирование сделать

103
00:16:10.860 --> 00:16:16.500
Михаил Непряхин: и и

104
00:16:17.030 --> 00:16:23.630
Михаил Непряхин: то есть опять, же для того чтобы перейти по указателю что, там поменять надо Разменовать без разменования так он работать не Будет

105
00:16:23.950 --> 00:16:27.770
Михаил Непряхин: короче таш сам Обсудит сдачу просто чуть-чуть другой вариант

106
00:16:28.220 --> 00:16:30.300
Михаил Непряхин: Так кто деточка Персон

107
00:16:30.630 --> 00:16:34.330
Михаил Непряхин: строго говоря надо ногу взять писать и Так

108
00:16:34.810 --> 00:16:35.600
Михаил Непряхин: да

109
00:16:36.600 --> 00:16:41.430
Михаил Непряхин: особенно, здесь такая Что, когда мы работаем

110
00:16:42.700 --> 00:16:44.980
Михаил Непряхин: ну здесь получается

111
00:16:46.990 --> 00:16:50.930
Михаил Непряхин: а имеется в виду когда поле печатаем я понял, типа у нас Же

112
00:16:51.310 --> 00:16:55.320
Михаил Непряхин: мы взяли указатель У нас указатель а Потом Мы

113
00:16:55.990 --> 00:17:00.150
Михаил Непряхин: ну Нет как бы, здесь Даже обращение к полю

114
00:17:00.570 --> 00:17:05.790
Михаил Непряхин: так м Сейчас он Разменовывает Что То вроде

115
00:17:06.790 --> 00:17:13.730
Михаил Непряхин: А такого что ли синтаксис да то Есть короче говоря должно вот быть как бы вот Так вот

116
00:17:14.579 --> 00:17:16.880
Михаил Непряхин: но Это Же Некрасиво

117
00:17:17.300 --> 00:17:22.869
Михаил Непряхин: и Вгу подумали Что вот и с методами такая история и с Полями

118
00:17:23.000 --> 00:17:24.940
Михаил Непряхин: Что Это Некрасиво

119
00:17:25.220 --> 00:17:42.780
Михаил Непряхин: и ну Допустим. Какой-то перемены и Мы с кем-нибудь Сквозь а Это Некрасиво что Да У нас Там указатель Чтобы Достать оттуда Поля надо его Разименовать и Достать оттуда Поля Но для того Чтобы ну так как это очень часто бывает Мы очень часто имеем дело со структурой по указателю

120
00:17:42.870 --> 00:17:51.880
Михаил Непряхин: вот это дело опускается и вот это то Же самое и Поэтому хоть У нас Тут указатель хоть Не указатель Вот Мы Всегда работаем в Атаку

121
00:17:53.850 --> 00:17:54.600
Михаил Непряхин: да

122
00:17:54.710 --> 00:17:55.830
Михаил Непряхин: хорошее Замечание,

123
00:18:00.130 --> 00:18:02.730
Михаил Непряхин: Так дальше Что решить какие У нас варианты

124
00:18:03.810 --> 00:18:12.710
Михаил Непряхин: так здесь смотрите вот Поэтому кейса вопросов Нет Это одно, и То же да вот здесь вот Есть У кого-то Еще Непонимание какое-то тепло как это работает

125
00:18:12.880 --> 00:18:20.230
Михаил Непряхин: если, есть прямо, вот Давайте вопрос можете Хоть, написать Хоть, голосом задать и Я Еще объясню ничего страшного

126
00:18:25.560 --> 00:18:27.620
Михаил Непряхин: ни у кого, вопросов не возникает

127
00:18:28.330 --> 00:18:34.150
Михаил Непряхин: хорошо так что. У нас существует случай и

128
00:18:34.280 --> 00:18:44.710
Михаил Непряхин: Пойдем в переменную берем От Этой переменный указатель помещаем в п а этот указатель опять берем указатель У нас уже двойный указатель значит если Мы

129
00:18:45.280 --> 00:18:45.940
Михаил Непряхин: а

130
00:18:46.510 --> 00:18:47.330
Михаил Непряхин: Так

131
00:18:47.450 --> 00:18:52.960
Михаил Непряхин: помещаем Тройку разименовым указатель пи а ну да вот это размино

132
00:18:53.120 --> 00:18:55.250
Михаил Непряхин: то есть мы здесь э

133
00:18:55.500 --> 00:18:56.860
Михаил Непряхин: меняем

134
00:18:57.010 --> 00:18:59.750
Михаил Непряхин: получается мы разименовываем пи

135
00:18:59.960 --> 00:19:03.550
Михаил Непряхин: прыгаем ва и призываем на тройку

136
00:19:04.300 --> 00:19:23.310
Михаил Непряхин: и полезно Всегда когда размышляете тоже комментарии писать обычно вам дают возможность и

137
00:19:24.050 --> 00:19:26.960
Михаил Непряхин: а дальше разименоваем Би

138
00:19:28.860 --> 00:19:29.990
Михаил Непряхин: два раза

139
00:19:30.190 --> 00:19:40.410
Михаил Непряхин: то есть Один. Раз Мы размируем Би мы попадем в пи еще Раз, разменуем пи попадем вей то есть мы опять же здесь достукиваемся до эй

140
00:19:40.570 --> 00:19:43.340
Михаил Непряхин: и теперь уже и меняем на пять

141
00:19:46.780 --> 00:19:50.460
Михаил Непряхин: а дальше что мы здесь делаем

142
00:19:50.770 --> 00:19:54.570
Михаил Непряхин: мы говорим так четыре плюс разименований Пи

143
00:19:55.320 --> 00:20:01.900
Михаил Непряхин: да ну эй теперь. Стало тут надо даже не Так надо было писать короче эй теперь Стало пять

144
00:20:04.140 --> 00:20:07.050
Михаил Непряхин: Так четыре

145
00:20:07.220 --> 00:20:08.390
Михаил Непряхин: эй

146
00:20:08.780 --> 00:20:10.250
Михаил Непряхин: кэмерон эй

147
00:20:10.690 --> 00:20:11.890
Михаил Непряхин: давайте

148
00:20:12.150 --> 00:20:15.590
Михаил Непряхин: ты Здесь вообще Как бы не очень удобно

149
00:20:19.220 --> 00:20:21.430
Михаил Непряхин: Так Мы берем эй ты У нас Пять

150
00:20:22.000 --> 00:20:35.210
Михаил Непряхин: и прибавляем к ней четыре плюс Разименовываем пину пира заменуем это Пять и в разы новом виде Тоже, Пять ну короче говоря чего Тут девятнадцать получается да

151
00:20:35.880 --> 00:20:37.200
Михаил Непряхин: Все это прибавить

152
00:20:37.690 --> 00:20:38.850
Михаил Непряхин: девятнадцать

153
00:20:39.650 --> 00:20:48.950
Михаил Непряхин: на самом деле если, бы, Тут чего-нибудь вот так вот было гошка бы Не до вас. Компилировать Поэтому как бы тут могут еще

154
00:20:50.260 --> 00:21:09.450
Михаил Непряхин: с подвохом сделать Задачку потому что это Виды ей подсвечивают а в блокноте оно может не подсвечиваться. Вы смотрите би. Мы разглядываем би. И помещаем туда пять смотрим где би. Вотбби разменоем Один, Раз, и Имеем дело с указателем и выдадут указатель присываемым пять Мы Понимаем Что Мы это сделать Не можем потому Что

155
00:21:10.770 --> 00:21:12.910
Михаил Непряхин: ну Мы

156
00:21:13.140 --> 00:21:15.230
Михаил Непряхин: как бы это целое число

157
00:21:15.760 --> 00:21:21.480
Михаил Непряхин: а указатель э. Должен быть значением какой Там

158
00:21:23.070 --> 00:21:26.860
Михаил Непряхин: да тут можно происходит на самом. Деле ему Другой указатель

159
00:21:28.240 --> 00:21:38.490
Михаил Непряхин: Аа ну. Другая История Там можете посмотреть Он Там в шестнадцать Личной системе числения То есть, Теоретически его здесь можно поменять если вот У вас есть, какой-то адрес

160
00:21:38.950 --> 00:21:46.730
Михаил Непряхин: То вы можете просто его заменить и как бы ну. Это надо Иметь какой-то другой валидный указатель

161
00:21:48.580 --> 00:21:51.890
Михаил Непряхин: вот ну. То есть Мы понимаем что один Раз, мы не можем тут разменовать

162
00:21:52.200 --> 00:21:53.660
Михаил Непряхин: надо развивать два раза

163
00:21:55.190 --> 00:21:57.220
Михаил Непряхин: и так что здесь шон

164
00:21:58.090 --> 00:21:59.210
Михаил Непряхин: берем

165
00:21:59.920 --> 00:22:15.760
Михаил Непряхин: значит делам вэлью говорим что этот этого любовь им тридцать два записывал он сотню и от Этой перемены берем указать весь наш указатель размя новым указатель что получаем ну логично что Здесь Мы получаем Сто То есть Это. Выведет. Сто

166
00:22:17.630 --> 00:22:19.010
Михаил Непряхин: Дальше

167
00:22:19.540 --> 00:22:24.290
Михаил Непряхин: А выводим значение Указателя Ну Здесь увидят какой-то Там адрес

168
00:22:24.760 --> 00:22:25.440
Михаил Непряхин: А

169
00:22:25.610 --> 00:22:26.960
Михаил Непряхин: Давайте Посмотрим

170
00:22:32.890 --> 00:22:36.900
Михаил Непряхин: как он как он там выглядит завтра-то ну вот он Так выглядит

171
00:22:37.370 --> 00:22:40.020
Михаил Непряхин: вот ну грубо говоря

172
00:22:40.330 --> 00:22:41.840
Михаил Непряхин: там Сиксон

173
00:22:42.540 --> 00:22:49.250
Михаил Непряхин: вот ноликс я Не, помню это с нуля начинается тут не работаешь с этими одно то

174
00:22:51.340 --> 00:23:03.590
Михаил Непряхин: все бессину растут си есть Да это вроде так шендерович эта система исчисления записываться то есть Тут могут растут от Нуля до Девяти и потом буквой и беседе иф

175
00:23:03.760 --> 00:23:05.430
Михаил Непряхин: нудадоров

176
00:23:05.850 --> 00:23:06.790
Михаил Непряхин: вот

177
00:23:07.740 --> 00:23:16.110
Михаил Непряхин: То есть он не дает записать в Десятилетчной системе но если б Мы их шестнадцатилетней пытались производить Он в пример прошлой Новодеет

178
00:23:16.300 --> 00:23:18.950
Михаил Непряхин: Попробуем Так разменовать и говорим что Он тут

179
00:23:21.120 --> 00:23:27.720
Михаил Непряхин: не Там слово напрямую Не Дает То Есть Это все равно Защита типа Это же невалидный Указатель если Оно Так нельзя

180
00:23:30.910 --> 00:23:36.240
Михаил Непряхин: Нет короче Тут и решка Сразу. Защищает ну в смысле Не скомпелируется Она

181
00:23:36.500 --> 00:23:39.220
Михаил Непряхин: какая ошибка Будет к императору Не Так интересно

182
00:23:40.180 --> 00:23:43.690
Михаил Непряхин: кэнно йоссентайпет индконстант

183
00:23:44.190 --> 00:23:48.090
Михаил Непряхин: а ну да потому что это типа неуказательно Инд

184
00:23:48.290 --> 00:23:49.150
Михаил Непряхин: ну

185
00:23:49.370 --> 00:23:54.750
Михаил Непряхин: короче тут Нету каких-то хаков. Тут неси то как бы арифметика указателя так Не работает

186
00:23:56.870 --> 00:23:58.930
Михаил Непряхин: так Им

187
00:24:00.270 --> 00:24:02.710
Михаил Непряхин: Не Запускаем какую функцию про процесс

188
00:24:03.050 --> 00:24:05.180
Михаил Непряхин: передаю вам туда этот показатель

189
00:24:06.760 --> 00:24:13.630
Михаил Непряхин: темп Заводим, переменную а им тридцать два Сразу же присылаем в нее Двести

190
00:24:14.000 --> 00:24:18.520
Михаил Непряхин: разименоваем темп ой еще тут уже интересно разминовываем темп

191
00:24:19.540 --> 00:24:23.380
Михаил Непряхин: и это значит что мы значение туда в элью Реально запишем

192
00:24:23.870 --> 00:24:27.260
Михаил Непряхин: и это значит что здесь у нас Мы Разменуем

193
00:24:27.740 --> 00:24:30.170
Михаил Непряхин: поинтер безжибот двести

194
00:24:30.340 --> 00:24:31.440
Михаил Непряхин: ну а Там

195
00:24:31.810 --> 00:24:38.980
Михаил Непряхин: указать Альбом другой То есть смысл в том Что тут будет какой То какой То указатель а здесь Он будет другой

196
00:24:45.220 --> 00:24:47.340
Михаил Непряхин: а Нет я туплю указатель Один, и тот же

197
00:24:47.540 --> 00:24:55.580
Михаил Непряхин: Мы же тут уэлью Присвоили. Да та один и тот же указатель Окей ну как же ничего Не поменялось Мы поменяли значение указателя

198
00:24:56.810 --> 00:24:57.560
Михаил Непряхин: вот

199
00:24:58.560 --> 00:25:01.740
Михаил Непряхин: короче я там сделали позиторий

200
00:25:02.380 --> 00:25:07.840
Михаил Непряхин: чуть позже где соберем вот эти вот задачки

201
00:25:08.110 --> 00:25:17.480
Михаил Непряхин: Которые э типовые на собесах ну там в основном свайсы гурутинные каналы самое главное там ютокс и будет группа вот эта тема

202
00:25:17.670 --> 00:25:22.100
Михаил Непряхин: вот но там будет вот несколько Еще задач вот но по интернету эти четыре сдачу будут

203
00:25:22.200 --> 00:25:23.140
Михаил Непряхин: на

204
00:25:23.560 --> 00:25:41.590
Михаил Непряхин: ну там на дифферы Еще что-нибудь то есть и

205
00:25:41.710 --> 00:25:43.560
Михаил Непряхин: а как бы

206
00:25:43.750 --> 00:25:51.940
Михаил Непряхин: это в жизни Не используется в поде вы такого кода никогда Не увидите это чисто вот такие задачки с подвохом

207
00:25:52.070 --> 00:25:56.900
Михаил Непряхин: вот Поэтому освежить память перед обесом как Будто оно сам металл

208
00:25:58.020 --> 00:26:07.940
Михаил Непряхин: а потому парываться, прямо, досконально там можно Нет вот на Свайсях да на Свайсях надо упороться а на Указателях главное понимать как Они Не примерно устроены

209
00:26:08.610 --> 00:26:11.090
Михаил Непряхин: аа Так юинд

210
00:26:17.370 --> 00:26:25.190
Михаил Непряхин: Нет Нет ну я Бы сказал вообще Не спрашивают но если, Вы где То проговоритесь как нибудь глупо

211
00:26:25.640 --> 00:26:30.000
Михаил Непряхин: То ну, это будет бросать на вас тень

212
00:26:30.230 --> 00:26:35.500
Михаил Непряхин: вот если, сами что-нибудь где-нибудь Не проговоритесь То в Принципе ничего такого Не спрашивают

213
00:26:35.880 --> 00:26:38.960
Михаил Непряхин: могут Там про Мюток спросить максимум

214
00:26:39.370 --> 00:26:40.340
Михаил Непряхин: вот

215
00:26:44.630 --> 00:26:49.260
Михаил Непряхин: так ванна короче У нас сегодня лекция посвящена с майсом

216
00:26:50.100 --> 00:26:53.550
Михаил Непряхин: и вот слайсы это наверное вообще

217
00:26:54.440 --> 00:27:05.150
Михаил Непряхин: наверное все-таки самая важная тема курса потому что если вы не решаете на собеседник задачу у нас вальсы не отвечайте вот на Вопросы, вот эти, вот по задачу

218
00:27:05.270 --> 00:27:07.110
Михаил Непряхин: то вы дальше не проходите

219
00:27:07.990 --> 00:27:16.840
Михаил Непряхин: ну и в целом по жизни слайсы это самая. Популярная структура с которой Мы работаем там Раз в десять популярнее чем кошмапы

220
00:27:17.530 --> 00:27:26.220
Михаил Непряхин: и ну понятно что там на первом месте это инты с Вайсой булы уинты старинки и булы но вот после этого после простых типов

221
00:27:26.720 --> 00:27:28.210
Михаил Непряхин: сразу идет слайс

222
00:27:28.670 --> 00:27:34.510
Михаил Непряхин: а с массивом почти никогда дело, не имеем то есть если У нас какая-то коллекция то этот Год ссылается

223
00:27:34.780 --> 00:27:37.230
Михаил Непряхин: и очень Редко. Хашмапа

224
00:27:38.100 --> 00:27:50.690
Михаил Непряхин: а в динамических языках весьма повстречаться Очень часто Но здесь когда Мы как Бы Понимаем внутреннее устройство Мы Понимаем насколько легко веснее все-таки свалится, Поэтому Мы Работаем с Асфальтом

225
00:27:52.050 --> 00:27:52.800
Михаил Непряхин: Я и

226
00:27:53.560 --> 00:27:55.030
Михаил Непряхин: значит Э

227
00:27:55.720 --> 00:27:57.070
Михаил Непряхин: Твоя Ста Штука

228
00:27:57.230 --> 00:28:02.510
Михаил Непряхин: которую Проще учить через Понимание внутреннего устройства

229
00:28:02.790 --> 00:28:10.300
Михаил Непряхин: потому Что практически невозможно? Запомнить весь арсенал весь. Ассортимент возможностей

230
00:28:10.430 --> 00:28:12.230
Михаил Непряхин: и Поведение

231
00:28:12.520 --> 00:28:16.220
Михаил Непряхин: без понимания того как он Устроено Внутри

232
00:28:16.720 --> 00:28:18.860
Михаил Непряхин: а устроена Но на чертовски просто

233
00:28:21.590 --> 00:28:22.950
Михаил Непряхин: noise

234
00:28:26.340 --> 00:28:32.120
Михаил Непряхин: значит свалится У нас Давайте опять. Нарисуем стек и кучу

235
00:28:35.930 --> 00:28:37.940
Михаил Непряхин: свадьба московский указатель

236
00:28:38.500 --> 00:28:39.710
Михаил Непряхин: значит

237
00:28:41.350 --> 00:28:42.360
Михаил Непряхин: это

238
00:28:42.820 --> 00:28:44.000
Михаил Непряхин: поинтер

239
00:28:44.720 --> 00:28:46.150
Михаил Непряхин: на массив

240
00:28:49.300 --> 00:29:02.080
Михаил Непряхин: то есть массив у нас в памяти представлен как просто подряд идущая память Поэтому мы с ней можем легко работать ну мы допустим у нас массив ментов

241
00:29:03.160 --> 00:29:05.220
Михаил Непряхин: допустим ментов тридцать Два

242
00:29:05.400 --> 00:29:09.110
Михаил Непряхин: ну и соответственно мы

243
00:29:09.280 --> 00:29:15.280
Михаил Непряхин: можем очень легко перемещаться по слайсу просто сдвигаясь, на

244
00:29:16.410 --> 00:29:20.250
Михаил Непряхин: и на тридцать Два бита

245
00:29:20.520 --> 00:29:22.220
Михаил Непряхин: а умножить на

246
00:29:22.610 --> 00:29:35.940
Михаил Непряхин: ячейку которую мы Хотим? Прыгнуть Хотим? Мы на вторую, прыгнуть но вот как бы мы понимаем как получить, ее адрес, то есть как бы сильная сторона массива в том что у нас очень

247
00:29:37.250 --> 00:29:39.170
Михаил Непряхин: Быстро чтение

248
00:29:41.310 --> 00:29:44.810
Михаил Непряхин: быстрая запись в Конец ну если место Позволяет

249
00:29:45.710 --> 00:29:57.290
Михаил Непряхин: но дорогое дорогой перебор Потому что ну тут как бы это Не кошма тут надо Все перебирать и дорогое Удаление То есть тут чтобы что-то удалить ну Вот это надо Все Сдвинуть Вот Сюда

250
00:29:57.840 --> 00:29:58.810
Михаил Непряхин: Так и

251
00:29:59.500 --> 00:30:03.650
Михаил Непряхин: ну с Массивами Мы чаще всего работаем и Со Свайсами и

252
00:30:03.890 --> 00:30:15.170
Михаил Непряхин: Мы чаще всего работаем как бы только на Чтение а если нужно что-то изменить То Мы просто сдаем еще Один. Свалит и куда-то переписываем вот Поэтому вот эта тема Что Мы Там чего-то удаляем ну?

253
00:30:15.580 --> 00:30:18.010
Михаил Непряхин: Вы Не свать Соч Никогда ничего Не Удаляете

254
00:30:18.840 --> 00:30:19.720
Михаил Непряхин: а Вот

255
00:30:20.180 --> 00:30:29.410
Михаил Непряхин: значит Вот У нас массив как выглядит массив У нас тут какое-то Там число и человек допустим восемь янтов

256
00:30:30.270 --> 00:30:32.040
Михаил Непряхин: а вот нас так выглядит тип

257
00:30:32.690 --> 00:30:36.110
Михаил Непряхин: ну и вообще как бы если мы работаем спасибо на прямом местеке находится

258
00:30:36.280 --> 00:30:37.160
Михаил Непряхин: и и

259
00:30:37.580 --> 00:30:39.320
Михаил Непряхин: а что такое слайс

260
00:30:39.830 --> 00:30:44.220
Михаил Непряхин: смотрите слайс это вью на массив

261
00:30:44.560 --> 00:30:48.940
Михаил Непряхин: то Есть это просто Удобная Оболочка для работы с массивом

262
00:30:49.290 --> 00:30:50.850
Михаил Непряхин: слайс

263
00:30:54.210 --> 00:30:56.300
Михаил Непряхин: это вью

264
00:30:57.400 --> 00:31:00.010
Михаил Непряхин: на рей на массив

265
00:31:01.120 --> 00:31:03.670
Михаил Непряхин: То есть Под. Капотом у слайса массив

266
00:31:04.870 --> 00:31:09.480
Михаил Непряхин: с Красивыми. Работать неудобно Поэтому принято Работать со Свайсами

267
00:31:11.730 --> 00:31:13.470
Михаил Непряхин: слайс Это структура

268
00:31:13.720 --> 00:31:16.290
Михаил Непряхин: значит Это структура из

269
00:31:20.450 --> 00:31:27.200
Михаил Непряхин: из трех Полей это собственный указатель на этот самый массив это длина

270
00:31:27.320 --> 00:31:28.330
Михаил Непряхин: этого

271
00:31:29.140 --> 00:31:31.840
Михаил Непряхин: Массива Ну вернет длина слайса

272
00:31:32.560 --> 00:31:43.550
Михаил Непряхин: и копайте емкость это вот как Раз, таки для вот это вот число вот Сколько вот здесь вот Есть допустим массив на восемь элементов откапазити будет восемь

273
00:31:44.220 --> 00:31:49.950
Михаил Непряхин: а если, у нас Заполнен только один элемент нулевой

274
00:31:50.300 --> 00:31:52.980
Михаил Непряхин: то длина будет один

275
00:31:53.530 --> 00:31:56.980
Михаил Непряхин: если, мы добавляем еще один элемент вот сюда

276
00:31:57.120 --> 00:31:59.140
Михаил Непряхин: ту длина будет

277
00:31:59.290 --> 00:32:00.200
Михаил Непряхин: Два

278
00:32:01.780 --> 00:32:07.060
Михаил Непряхин: а если, мы Сколько максимум мы можем добавить элементов

279
00:32:07.710 --> 00:32:10.410
Михаил Непряхин: восемь то Есть вот когда У нас

280
00:32:10.800 --> 00:32:14.150
Михаил Непряхин: а лен восемь копайте восемь У нас

281
00:32:14.420 --> 00:32:16.040
Михаил Непряхин: значит что весь, этот

282
00:32:16.980 --> 00:32:18.530
Михаил Непряхин: массив он заполнен

283
00:32:19.190 --> 00:32:24.070
Михаил Непряхин: и чтобы туда сделать шумно добавить еще один элемент

284
00:32:26.390 --> 00:32:31.610
Михаил Непряхин: ну. В норме бы если. Б мы работали с Массивом нам. Бы руками Пришлось

285
00:32:32.290 --> 00:32:37.270
Михаил Непряхин: выделить дополнительную память ну, То есть Новый кусок памяти выделить

286
00:32:37.400 --> 00:32:39.400
Михаил Непряхин: вот Это все туда перекопировать

287
00:32:39.770 --> 00:32:52.110
Михаил Непряхин: и добавить Этот, Наш элемент руками Это Делать, долго и неудобно Поэтому нам специально вот Придумали вот Эту оболочку слайс это Вью для Удобного Работа, для уголовной работы с массивом

288
00:32:52.260 --> 00:33:05.740
Михаил Непряхин: и когда мы хотим, слазь, добавить элемент автоматически под капотом выделяется новый кусок памяти ну обычно два икс примерно вот и туда мы здесь копаемся и обновляется

289
00:33:05.980 --> 00:33:07.640
Михаил Непряхин: капасетис ноль шестнадцать

290
00:33:08.020 --> 00:33:16.000
Михаил Непряхин: ну и все и теперь. Мы можем опять повышать лен добавили Новый элемент длина Массива Получилось девять

291
00:33:18.230 --> 00:33:22.400
Михаил Непряхин: если Коде посмотреть как это выглядит

292
00:33:24.500 --> 00:33:27.330
Михаил Непряхин: ну как это примерно выглядит Под капоттом

293
00:33:28.230 --> 00:33:30.200
Михаил Непряхин: а где у меня, вот

294
00:33:30.450 --> 00:33:31.990
Михаил Непряхин: значит ты

295
00:33:33.410 --> 00:33:35.350
Михаил Непряхин: вот Мы инициализируем

296
00:33:36.230 --> 00:33:42.650
Михаил Непряхин: ну здесь он нецензированный ну короче Мы заводим переменную со свайсом

297
00:33:43.030 --> 00:33:53.150
Михаил Непряхин: и видим что. Тип с лайс записывается как квадратные скобочки ну массив вот так вот писал Всегда, внутри число и число является его типом

298
00:33:53.380 --> 00:33:57.250
Михаил Непряхин: вот а здесь у нас ничего нет все там динамический массив

299
00:33:58.070 --> 00:34:00.490
Михаил Непряхин: и он состоит из трендов.

300
00:34:00.820 --> 00:34:02.370
Михаил Непряхин: В нашем случае Мы видим

301
00:34:02.750 --> 00:34:04.360
Михаил Непряхин: но Реально

302
00:34:04.520 --> 00:34:15.250
Михаил Непряхин: это структура То есть вот этот тип это Не просто Там какой-то Простой тип это Толстый указатель и вот он выглядит вот так вот

303
00:34:16.730 --> 00:34:24.620
Михаил Непряхин: значит У Него Есть указательный массив ну Ансайф пойнтер ну то, Есть это короче обычно

304
00:34:24.920 --> 00:34:29.380
Михаил Непряхин: Мы работаем с безопасными структурами но вот когда у нас дело заходит

305
00:34:29.850 --> 00:34:35.400
Михаил Непряхин: про подкопотные структуры там очень много где используется ансейв ну это просто как бы уже

306
00:34:35.600 --> 00:34:41.460
Михаил Непряхин: для ускорения аа чтобы он работал быстрее То есть Мы просто Считаем что указатель

307
00:34:42.239 --> 00:34:43.840
Михаил Непряхин: если Посмотрим что Это

308
00:34:44.210 --> 00:34:46.219
Михаил Непряхин: этоинт да в конечном итоге

309
00:34:49.449 --> 00:34:53.880
Михаил Непряхин: дальше и Поэтому он восемь бай да как бонус восемь бай

310
00:34:57.090 --> 00:35:00.360
Михаил Непряхин: дальше у нас есть его длина

311
00:35:00.650 --> 00:35:02.040
Михаил Непряхин: то есть и

312
00:35:02.600 --> 00:35:06.530
Михаил Непряхин: если Мы Под капотом выделили память

313
00:35:09.110 --> 00:35:14.890
Михаил Непряхин: значит под капотом У нас Будет массив из восьми Стрингов

314
00:35:16.530 --> 00:35:18.480
Михаил Непряхин: а вот мы его там выделили

315
00:35:20.450 --> 00:35:27.270
Михаил Непряхин: и если У нас там ничего не записано ноль элементов ну длина будет ноль

316
00:35:27.730 --> 00:35:30.760
Михаил Непряхин: если один элемент Мы туда, записали нам год один

317
00:35:32.550 --> 00:35:34.500
Михаил Непряхин: капасити емкость

318
00:35:34.680 --> 00:35:53.290
Михаил Непряхин: она просто будет равна вот этому вот какое здесь значение Массива есть вот столько Она и будет то есть Поэтому когда вы понимаете вот можно Же проверить какой копась я тебя усвайся если, вы понимаете Что он восемь посмотрели он восемь к опасности это значит Что под капотом Там вот этот массив с восьмеркой его здесь Он и выделен

319
00:35:54.230 --> 00:36:05.560
Михаил Непряхин: а это может быть ноль, значит Нет элементов мы Никуда ничего Не добавили восемь. Может быть значит Он Полностью запомнил это добавили четыре значит Там четыре элемента

320
00:36:05.940 --> 00:36:10.470
Михаил Непряхин: вот Если, Мы Сейчас будем туда добавлять делать аппен то линбод пять

321
00:36:13.140 --> 00:36:18.380
Михаил Непряхин: э ну и длина получа размер э Этого

322
00:36:18.610 --> 00:36:19.880
Михаил Непряхин: свайса

323
00:36:20.160 --> 00:36:21.330
Михаил Непряхин: на стекке

324
00:36:22.160 --> 00:36:25.040
Михаил Непряхин: а двадцать четыре байта потому что три поля

325
00:36:25.240 --> 00:36:39.950
Михаил Непряхин: зачем надо это знать потому что могут спросить на собеседовании чего нибудь будьте То есть в Принципе вы, Всегда зацепляетесь на Собеседование За Темы Которые знаете вот если, вам То начинает и например, что нибудь спрашивать про слайсы вот вы прямо, все выдавайте

326
00:36:39.950 --> 00:36:56.520
Михаил Непряхин: что там вот три поля сюда и тут он может там спросить сколько эти Поля у них Размер а Это, обычный Инд что Это, им тогда Условно что Это, Интуиция двадцать четыре Байта получается То есть за это может зайти разговор Поэтому Важно понимать что он двадцать четыре. Байта

327
00:36:56.650 --> 00:37:09.610
Михаил Непряхин: и это по-моему самый толстый указатель по-моему три Поля больше нет никакого Толстого указателя потому что. Интерфейс у него два поля шестнадцать бает стринга тоже два поля шестнадцать бай

328
00:37:11.040 --> 00:37:14.920
Михаил Непряхин: а ну и все вроде толстых указателей, больше и нет остальные

329
00:37:15.560 --> 00:37:21.680
Михаил Непряхин: одному просто просто указателю типа мапа просто указатель канал он просто указатель

330
00:37:21.820 --> 00:37:23.450
Михаил Непряхин: функция просто указатель

331
00:37:24.350 --> 00:37:27.860
Михаил Непряхин: да а вот так чтобы толстый указатель с тремя полями только спайс

332
00:37:29.380 --> 00:37:42.600
Михаил Непряхин: так здесь пока на текущий момент есть вопрос или пока все понятно этим так будем двигаться аккуратно чтобы Потому что Тут оно осваивается разбор, да Давайте Можно нас учить озвучить вопрос голосом но ведь.

333
00:37:43.080 --> 00:37:45.130
David R: Всем при этом Слышишь меня.

334
00:37:45.130 --> 00:37:45.710
Михаил Непряхин: Да.

335
00:37:46.390 --> 00:37:52.460
David R: А вопрос такой можно вернуться к примеру где Моя структура с Внутренним содержанием, вот

336
00:37:52.560 --> 00:38:10.370
David R: а вот тут, получается У нас есть длина есть Емкость. Есть указатель Куда то Там на массив но нигде не вижу чтобы хранилась информация о типе данных и если У нас создается нил уинтер слайс

337
00:38:10.370 --> 00:38:13.810
David R: то есть с указателем на нил и Потом когда

338
00:38:13.860 --> 00:38:31.160
David R: а сласть начинает ссылаться на какой-то массив как он понимает что. Именно должно быть ну. Какую память надо выделить в массиве Там инт восемь им. Тридцать два им. Шестьдесят четыре Или что-то Там ну. Эта. Информация про Тип Элемента Массива Она нигде не хранится И непонятно как оно Будет Дальше

339
00:38:31.160 --> 00:38:38.110
David R: И увеличивать Егэ Длину И Увеличить Емкость. И Там выделять память ну вот этот момент непонятен.

340
00:38:40.230 --> 00:38:45.180
Михаил Непряхин: А хорошо вопрос хороший значит смотрите вот есть и

341
00:38:45.730 --> 00:38:52.140
Михаил Непряхин: два варианта инициализации нужно как бы работать даваться перемены вот смотрите значит

342
00:38:52.670 --> 00:38:54.640
Михаил Непряхин: когда Мы Делаем вот так. Вот

343
00:38:55.420 --> 00:38:59.670
Михаил Непряхин: то у нас получается зеровелью свайс

344
00:39:00.530 --> 00:39:08.230
Михаил Непряхин: зеро вильюс лайс он нил то есть вот Если, вы будете проверять вот так вот создаем свальс проверяйте ни. Он Или нет

345
00:39:08.840 --> 00:39:10.270
Михаил Непряхин: и он пишет тру

346
00:39:11.600 --> 00:39:16.320
Михаил Непряхин: и вот в этом случае здесь реально ни. У

347
00:39:16.740 --> 00:39:19.090
Михаил Непряхин: То есть Там массива

348
00:39:19.460 --> 00:39:21.560
Михаил Непряхин: Не Интуитивно его нет

349
00:39:22.380 --> 00:39:35.130
Михаил Непряхин: и второй вариант значит лидера когда вы делаете это, Через Присваивание ну. То есть похожая Ситуация, но все таки вы используете эти фигурные скобки а фигурные скобки после используют после типа

350
00:39:35.250 --> 00:39:38.320
Михаил Непряхин: это Всегда, инициатива

351
00:39:38.490 --> 00:39:40.920
Михаил Непряхин: то есть вы его инициализируете

352
00:39:41.560 --> 00:39:48.400
Михаил Непряхин: и в этом случае он уже не нил и вот в этом случае уже здесь будет массив

353
00:39:49.000 --> 00:39:50.000
Михаил Непряхин: ноль

354
00:39:50.580 --> 00:39:53.640
Михаил Непряхин: вот так вот ну если вот тут была стринга

355
00:39:53.920 --> 00:39:56.140
Михаил Непряхин: вот он тут, стринга окажется

356
00:39:56.290 --> 00:40:02.670
Михаил Непряхин: то есть вот в этом случае как бы понятно, что, ну здесь массив Стринг, так оно и есть

357
00:40:02.910 --> 00:40:07.240
Михаил Непряхин: в этом случае и

358
00:40:07.890 --> 00:40:17.670
Михаил Непряхин: по этому по Этой структуре действительно непонятно какой тогда инициализировать массив вот каким, каким, каким, типом

359
00:40:18.550 --> 00:40:20.700
Михаил Непряхин: на этот Вопрос я ответ не знаю

360
00:40:20.800 --> 00:40:29.910
Михаил Непряхин: потому что ну это уже Вот видимо какая-то магия компилятора а не исключаю Возможно, что все таки Там

361
00:40:30.560 --> 00:40:37.820
Михаил Непряхин: а возьмите ему Как надо Отличить, типа Вот в этом случае Он будет Равен Не Лу а Вот в этом Не неву

362
00:40:38.660 --> 00:40:48.140
Михаил Непряхин: и Видимо все Таки как то помечается видимо как то будет типизирована все таки вот эта переменная Этим типом

363
00:40:50.580 --> 00:40:54.420
Михаил Непряхин: ну да видите как бы мы когда заводим вот эту переменную

364
00:40:54.690 --> 00:40:57.200
Михаил Непряхин: а вот здесь же Тип То имеется

365
00:40:59.620 --> 00:41:05.210
Михаил Непряхин: ну сложный вопрос Я просто, не знаю его ответ но видимо как То компиляторной магии

366
00:41:05.350 --> 00:41:13.910
Михаил Непряхин: но вот когда мы инициализированные свадьбы Заводе ну все понятно но где мы и Так видим как из какого типа здесь с вас видимо какая то Есть табличка где эта идеальная Есть

367
00:41:15.110 --> 00:41:16.220
Михаил Непряхин: Так

368
00:41:16.610 --> 00:41:21.300
Михаил Непряхин: а чем. Свайся такие отличаются по Хранению в памяти смотрите значит

369
00:41:22.190 --> 00:41:23.860
Михаил Непряхин: отличие от Строки

370
00:41:24.450 --> 00:41:29.730
Михаил Непряхин: строка это Всегда указатель на

371
00:41:32.880 --> 00:41:35.990
Михаил Непряхин: вот такой такой массив

372
00:41:36.400 --> 00:41:38.650
Михаил Непряхин: ну. Допустим там не знаю восемь

373
00:41:39.030 --> 00:41:41.080
Михаил Непряхин: то есть э свайт

374
00:41:41.260 --> 00:41:48.800
Михаил Непряхин: потому. Что и

375
00:41:48.950 --> 00:41:55.650
Михаил Непряхин: ну. И есть байда восемь бит то есть это байт это Алиас на юин восемь

376
00:41:55.760 --> 00:41:56.620
Михаил Непряхин: шос

377
00:41:56.790 --> 00:42:05.270
Михаил Непряхин: вот юнь восемь Ну или или то же самое что это слайс юинд восьмых То есть восьмибитных очисел.

378
00:42:07.260 --> 00:42:09.740
Михаил Непряхин: Первое отличие да второе отличие

379
00:42:10.800 --> 00:42:22.280
Михаил Непряхин: нету нету копасити есть Только длина у строки и Поэтому строка Это вот такая структура с двумя полями и она уже шестнадцать бойца тысновесит

380
00:42:22.940 --> 00:42:25.320
Михаил Непряхин: и третье отличие

381
00:42:25.750 --> 00:42:27.520
Михаил Непряхин: строки и неизменяемые,

382
00:42:27.960 --> 00:42:29.560
Михаил Непряхин: и

383
00:42:29.720 --> 00:42:35.000
Михаил Непряхин: если вы ну Поэтому и копаете не нужно потому что лен Всегда равенка позитив

384
00:42:35.290 --> 00:42:53.040
Михаил Непряхин: в этом случае вот Сколько здесь есть длина массива вот такое значение ботули если, здесь оно пять то длина будет пять то есть вы когда строки проверяете Или вы просто понимаете Какого Размера Там Внутри слайс байт Под капотом

385
00:42:53.630 --> 00:43:00.060
Михаил Непряхин: Поэтому строки строки очень легко Конвертируются в спайс-байт

386
00:43:00.470 --> 00:43:03.600
Михаил Непряхин: и слайс байден, очень легко конвертируется в строки

387
00:43:04.360 --> 00:43:05.390
Михаил Непряхин: Там

388
00:43:05.690 --> 00:43:09.850
Михаил Непряхин: и Поэтому когда Допустим Мы Работаем с какими-то пакетами

389
00:43:10.520 --> 00:43:22.260
Михаил Непряхин: спрингс точка ну вот контейнс например да Там проверить наличие строки в Пастроке, то Есть вот нас под строка Мы ее Хотим? Найти, вот в Этой Строке То, есть просто

390
00:43:23.240 --> 00:43:32.210
Михаил Непряхин: поиск контейнеры возвращают да Или Нет ну типа есть вот эта пастроковать по страхе Или Нет так вот все вот эти вот функции

391
00:43:32.400 --> 00:43:34.080
Михаил Непряхин: из пакета, стрингс

392
00:43:34.490 --> 00:43:39.050
Михаил Непряхин: они имеют точно такие же аналогии в пакете байц

393
00:43:39.540 --> 00:43:50.020
Михаил Непряхин: берем просто меняем стрингсонабайтс ну конечно да здесь придется Нам обернуться привести это То есть тут уже Мы работаем с байтами сделать вот Так вот

394
00:43:51.920 --> 00:43:55.760
Михаил Непряхин: Привидение, через Круглые Скобки деваться то есть короче говоря

395
00:43:55.940 --> 00:43:58.090
Михаил Непряхин: Мы говорим Какой Тип

396
00:43:58.610 --> 00:44:07.630
Михаил Непряхин: Какой Тип Хотим, привести вот к этому Типу и в кобочках это Берем вот ну и здесь соответственно Тоже, надо Обернуть Вот так Свасть байты

397
00:44:08.150 --> 00:44:09.550
Михаил Непряхин: Вот и

398
00:44:09.850 --> 00:44:11.430
Михаил Непряхин: значит это

399
00:44:11.610 --> 00:44:15.830
Михаил Непряхин: следствие какое из этого Ра Строки неизменяемое

400
00:44:16.640 --> 00:44:21.580
Михаил Непряхин: то при Конкретинации строк ну Сложений строк да

401
00:44:21.810 --> 00:44:25.070
Михаил Непряхин: При изменении строк Происходят локации

402
00:44:25.560 --> 00:44:33.580
Михаил Непряхин: и Поэтому когда вы работаете Ммм со строками Активно там что-то складываете что-то меняете

403
00:44:33.730 --> 00:44:37.080
Михаил Непряхин: нужно использовать буфер.

404
00:44:37.830 --> 00:44:41.490
Михаил Непряхин: А уферы под капотом будет этот самый вайс-байт

405
00:44:41.770 --> 00:44:46.130
Михаил Непряхин: и потом в конце только вы превращаете его в стрингу

406
00:44:46.660 --> 00:44:55.380
Михаил Непряхин: вот ну это Так мы потом до старинных Дойдем и еще Про это Поговорим но это хороший вопрос тут в тему, чем. Отличается

407
00:44:55.750 --> 00:44:58.140
Михаил Непряхин: стринга От свайса

408
00:44:58.880 --> 00:45:00.930
Михаил Непряхин: еще Есть гарантия

409
00:45:01.040 --> 00:45:04.340
Михаил Непряхин: что когда вы создаете стрингум

410
00:45:05.580 --> 00:45:07.130
Михаил Непряхин: а через литературу

411
00:45:07.800 --> 00:45:09.750
Михаил Непряхин: лейтенант стринги это

412
00:45:10.550 --> 00:45:11.510
Михаил Непряхин: кавычки

413
00:45:12.560 --> 00:45:18.350
Михаил Непряхин: вот когда вы так создали старингу Есть гарантия что она будет

414
00:45:19.110 --> 00:45:27.220
Михаил Непряхин: а юта восемь то есть к император сделает проверку что вот здесь вот то что мы передали это гарантированно витаев восемь

415
00:45:28.570 --> 00:45:31.760
Михаил Непряхин: а но как вы только что поняли

416
00:45:32.010 --> 00:45:39.970
Михаил Непряхин: очень часто для оптимизации работают не сосвайс ну не со стренгой а со с лаййтом вот так вот

417
00:45:41.600 --> 00:45:46.620
Михаил Непряхин: То когда вы какой-то некий спайсбайт конвертируете строку

418
00:45:46.760 --> 00:45:51.100
Михаил Непряхин: Там проверки Этой нет и поэтому Там может быть мусор

419
00:45:51.270 --> 00:45:59.930
Михаил Непряхин: вот так к слову Это все отличия с вальса от стринги По большому счету сталинград Асфальт

420
00:46:00.040 --> 00:46:02.330
Михаил Непряхин: ну просто чуть-чуть потонешь

421
00:46:03.080 --> 00:46:06.420
Михаил Непряхин: чуть потом же Чем, на Одно, поле.

422
00:46:10.510 --> 00:46:16.570
Михаил Непряхин: Так Раз вернем так еще кто-нибудь голосом хочет вопрос задать если хочет быть создавать

423
00:46:17.270 --> 00:46:19.860
Михаил Непряхин: так мы их еще принимаем тип когда

424
00:46:20.000 --> 00:46:22.570
Михаил Непряхин: с лай сделаешь Ну, да

425
00:46:28.930 --> 00:46:33.570
Михаил Непряхин: если вам Об этом хочется почитать Исходный Код Он Тоже на Голову. Написан на Голову. Поэтому

426
00:46:33.690 --> 00:46:37.930
Михаил Непряхин: ну если очень захотеть то это можно сделать Но Особенно, с ними сетями. Шатусь просто

427
00:46:38.820 --> 00:46:49.920
Михаил Непряхин: и сперва надо найти исходный Код пишу и говорите Там Чат жепети найди мне исходный Код работы Маяка

428
00:46:50.020 --> 00:46:59.510
Михаил Непряхин: а потом Копируйте ее и Говорите там объясни мне Как это работает и в принципе, там прям русским языком оно объяснится Если очень хочется.

429
00:46:59.740 --> 00:47:05.910
Михаил Непряхин: Так Предположение ответа Размера вай стринг, августа кари дондс рез, бай

430
00:47:06.290 --> 00:47:07.170
Михаил Непряхин: страх

431
00:47:07.910 --> 00:47:12.680
Михаил Непряхин: но там так вопрос если функция получает сынку наслайс

432
00:47:12.960 --> 00:47:16.890
Михаил Непряхин: Всегда делать Копию если функция получается звук У насвайс

433
00:47:18.350 --> 00:47:21.320
Михаил Непряхин: Ну, Да Ну, происходит копирование

434
00:47:21.440 --> 00:47:22.360
Михаил Непряхин: слайса

435
00:47:22.800 --> 00:47:26.820
Михаил Непряхин: То Есть если Вы Передаете слайс в Функцию

436
00:47:27.090 --> 00:47:30.830
Михаил Непряхин: Или возвращается спальня. С функцией вы копируете

437
00:47:30.960 --> 00:47:41.020
Михаил Непряхин: сколько вы копируете двадцать четыре байдена копировать размер свайса двадцать четыре байта на стке, когда вы ему передаете функцию вы копируете двадцать четыре Байта

438
00:47:41.170 --> 00:47:43.410
Михаил Непряхин: вы копируете указатель

439
00:47:44.220 --> 00:47:50.350
Михаил Непряхин: То Есть указатель все равно указывает вот Там на Ячейку памяти вы его просто скопировали Поэтому

440
00:47:51.220 --> 00:47:54.530
Михаил Непряхин: Ну, не надо добавлять вот сюда Звездочку к указателю

441
00:47:54.790 --> 00:47:57.500
Михаил Непряхин: просто копировать эту структуру и все ничего страшного

442
00:47:58.220 --> 00:48:01.430
Михаил Непряхин: так Давайте Отдохнем две, три минуты

443
00:48:01.670 --> 00:48:03.190
Михаил Непряхин: и продолжим

444
00:51:30.320 --> 00:51:35.030
Михаил Непряхин: да так и Не понял у александра и то и по учеба зрителей Нет александр вы с нами

445
00:51:36.100 --> 00:51:37.580
Михаил Непряхин: ты переживаю

446
00:51:48.930 --> 00:51:50.010
Михаил Непряхин: видимо Нет

447
00:51:51.180 --> 00:51:52.540
Михаил Непряхин: Так ванна.

448
00:51:54.560 --> 00:51:55.850
Илиас Эззахид: У Меня Есть Можно Вопрос.

449
00:51:55.850 --> 00:51:56.860
Михаил Непряхин: Да да.

450
00:51:56.860 --> 00:52:10.970
Илиас Эззахид: Вопрос неправильно. Сформулировал Только Что голосу Я имел. В виду под Если вот У нас пункция Там в Лигасе Плохо написано и там переиздается ссылка на слайс а не сам слайф. Ну не сам значение

451
00:52:11.310 --> 00:52:17.200
Илиас Эззахид: а три Факторы там на слайк не получится так как это Внешняя библиотека ну, например,

452
00:52:17.790 --> 00:52:24.090
Илиас Эззахид: нужно в таких случаях Всегда стоит делать копю слайса ну, там через копию

453
00:52:24.390 --> 00:52:30.660
Илиас Эззахид: чтобы не менять тоже память бассеева.

454
00:52:30.970 --> 00:52:34.530
Илиас Эззахид: Может быть У нас там эта ссылка уже ссылается втно

455
00:52:35.450 --> 00:52:40.160
Илиас Эззахид: это значение в памяти где-то уже используется и чтобы не было конфликта

456
00:52:40.350 --> 00:52:42.540
Илиас Эззахид: Всегда делать коп в таких случаях.

457
00:52:43.160 --> 00:52:45.100
Михаил Непряхин: Ну. И

458
00:52:46.230 --> 00:52:48.710
Михаил Непряхин: вопрос сложный вопрос сложный

459
00:52:48.940 --> 00:52:54.410
Михаил Непряхин: и на Него Нет назначенного ответа надо смотреть в Код как Там, с Ним

460
00:52:54.730 --> 00:53:00.790
Михаил Непряхин: баба потому Что Ну передаете вы вот передаете вы вот Так вот свайс

461
00:53:00.960 --> 00:53:13.110
Михаил Непряхин: Или передаете вы вот Так вот свайс вы в Любом Случае имеете доступ к этому внутреннему массиву, и вы его хоть, так можете поменять вот так можете поменять просто

462
00:53:14.000 --> 00:53:33.140
Михаил Непряхин: грубо говоря вот это вот Использование по указателю свайся оно как бы, избыточно ну. Потому Что типа зачем указательный указатель если Там уже и так указать Или это получается как две звездочки То есть ну можно же считать Что здесь как Будто невидимая Звездочка есть ну вот эта вот и

463
00:53:33.220 --> 00:53:42.640
Михаил Непряхин: Поэтому То Что Вы отреагировали уберечь эту звездочку По большому счету ничего Не поменяется Что так вы будете к нему Иметь доступ и так Поэтому как бы

464
00:53:43.550 --> 00:53:48.000
Михаил Непряхин: тут как бы такое ни решение это Не. Решает оно

465
00:53:51.190 --> 00:53:54.770
Михаил Непряхин: так вот александра александрова все-таки Получилось да дети

466
00:53:55.680 --> 00:53:56.710
Михаил Непряхин: небов

467
00:53:57.680 --> 00:53:58.360
Михаил Непряхин: ну и

468
00:54:00.020 --> 00:54:05.720
Михаил Непряхин: давайте Еще Раз посмотрим на эту структуру значит просто подумаем и

469
00:54:06.670 --> 00:54:14.180
Михаил Непряхин: Ну Понятно, что Если ленкапасите. Да просто подумаем что какие есть варианты вообще что Можно что Мы можем сделать

470
00:54:14.380 --> 00:54:18.870
Михаил Непряхин: а уже потом посмотрим на синтаксис как То Или иное Там парализовано

471
00:54:20.590 --> 00:54:23.080
Михаил Непряхин: Так значит вот есть У нас

472
00:54:24.700 --> 00:54:25.730
Михаил Непряхин: массив

473
00:54:25.920 --> 00:54:28.560
Михаил Непряхин: который Там под капотом и свайся

474
00:54:29.020 --> 00:54:31.270
Михаил Непряхин: частное ростове сколько нибудь я чаек

475
00:54:31.500 --> 00:54:33.390
Михаил Непряхин: Тонути ноль один

476
00:54:33.880 --> 00:54:35.070
Михаил Непряхин: два

477
00:54:35.980 --> 00:54:37.010
Михаил Непряхин: трие

478
00:54:37.740 --> 00:54:39.190
Михаил Непряхин: четыре пять шесть

479
00:54:40.320 --> 00:54:46.870
Михаил Непряхин: вот ну соответственно тут у нас есть длина и есть копасти

480
00:54:47.360 --> 00:54:49.940
Михаил Непряхин: какую борт, у этого демок опасности

481
00:54:50.950 --> 00:54:53.910
Михаил Непряхин: ну вот у нас в семьечеек копасти будет семь,

482
00:54:55.040 --> 00:54:56.720
Михаил Непряхин: то есть это

483
00:54:57.060 --> 00:54:59.410
Михаил Непряхин: вот этот вот массив который под, капотом

484
00:55:00.340 --> 00:55:02.650
Михаил Непряхин: куан у нас винтов

485
00:55:03.390 --> 00:55:05.710
Михаил Непряхин: вот это семь, вот Этой ботка пасти

486
00:55:06.000 --> 00:55:08.060
Михаил Непряхин: ален ну соответственно

487
00:55:08.760 --> 00:55:10.990
Михаил Непряхин: это я Нарисовал индексы да

488
00:55:11.700 --> 00:55:15.010
Михаил Непряхин: для давайте наверное тогда же значение напишем

489
00:55:16.050 --> 00:55:17.670
Михаил Непряхин: вот здесь вот

490
00:55:18.110 --> 00:55:19.720
Михаил Непряхин: тут, надо было сверху нарисовать

491
00:55:19.820 --> 00:55:26.060
Михаил Непряхин: вот индекс этих ячеек значение у нас если, мы ничего не заполнили

492
00:55:27.790 --> 00:55:28.590
Михаил Непряхин: джаз

493
00:55:35.640 --> 00:55:36.660
Михаил Непряхин: лен

494
00:55:36.760 --> 00:55:38.010
Михаил Непряхин: копасти

495
00:55:38.400 --> 00:55:39.990
Михаил Непряхин: капаете семь,

496
00:55:41.420 --> 00:55:42.960
Михаил Непряхин: если, мы

497
00:55:43.370 --> 00:55:52.020
Михаил Непряхин: ничего весьма ле ноль мы еще ничего не положили ну, у нас указатель указывает как бы вот Сюда. Да мы еще ну у нас ничего нет

498
00:55:52.870 --> 00:55:58.360
Михаил Непряхин: и когда мы хотим, Добавить допустим добавили мы

499
00:55:59.360 --> 00:56:02.640
Михаил Непряхин: везде в леопард добавили сюда значение кота вэлью

500
00:56:03.810 --> 00:56:08.740
Михаил Непряхин: и ээ лен как бы сдвинулся сюда и стал

501
00:56:08.920 --> 00:56:10.080
Михаил Непряхин: Единица

502
00:56:12.310 --> 00:56:18.150
Михаил Непряхин: а значит первое что мы можем сделать мы добавляем какой То элемент добавляем еще один элемент

503
00:56:18.460 --> 00:56:21.000
Михаил Непряхин: лен становится два

504
00:56:21.120 --> 00:56:25.520
Михаил Непряхин: вот этот вот лен как, бы становится здесь Капасти Не Изменяется

505
00:56:27.030 --> 00:56:33.500
Михаил Непряхин: М-м ну, можем Мы его удалить конечно можем удалить но просто за налить вот этого значения

506
00:56:34.850 --> 00:56:36.560
Михаил Непряхин: можем мы

507
00:56:38.320 --> 00:56:43.450
Михаил Непряхин: добавить все до конца то есть добавили добавили добавили добавили

508
00:56:44.220 --> 00:56:45.760
Михаил Непряхин: лен стал

509
00:56:49.050 --> 00:56:50.030
Михаил Непряхин: семь

510
00:56:50.800 --> 00:56:54.280
Михаил Непряхин: когда мы еще сделаем еще раз аппетит

511
00:56:56.950 --> 00:56:59.050
Михаил Непряхин: типа хотим, добавить конец

512
00:56:59.530 --> 00:57:02.510
Михаил Непряхин: то у нас Автоматически Произойдет

513
00:57:02.630 --> 00:57:06.970
Михаил Непряхин: в два Раза а вот серо за память это уже бот Другой, массив

514
00:57:07.900 --> 00:57:10.130
Михаил Непряхин: в него вот это все перекопируется

515
00:57:10.460 --> 00:57:14.160
Михаил Непряхин: кто здесь вот это все будет Сорок два тридцать два

516
00:57:14.500 --> 00:57:18.810
Михаил Непряхин: на Этот массив потом не. Будет никаких указателей его соберет горбушка лектор

517
00:57:19.810 --> 00:57:25.820
Михаил Непряхин: и здесь Мы добавим еще один элемент и у нас изменится значит

518
00:57:26.060 --> 00:57:33.100
Михаил Непряхин: кпасть будет ну в два раза больше Там семь, было стало, четырнадцать а лен будет было семь, ста восемь

519
00:57:34.590 --> 00:57:37.970
Михаил Непряхин: еще из интересного что, Мы можем Делать

520
00:57:38.450 --> 00:57:39.540
Михаил Непряхин: мы

521
00:57:40.410 --> 00:57:41.530
Михаил Непряхин: можем

522
00:57:41.700 --> 00:57:43.320
Михаил Непряхин: взять вью

523
00:57:44.060 --> 00:57:45.730
Михаил Непряхин: определенную часть

524
00:57:46.690 --> 00:57:48.070
Михаил Непряхин: значит

525
00:57:55.530 --> 00:57:58.670
Михаил Непряхин: Есть у нас Свайс

526
00:57:59.610 --> 00:58:06.410
Михаил Непряхин: заполненный он весь заполненный этот Раз два три. Четыре пять шесть семь вот типлен семь

527
00:58:07.380 --> 00:58:09.520
Михаил Непряхин: все заполнены какими-то значениями

528
00:58:10.150 --> 00:58:14.160
Михаил Непряхин: и Мы хотим, вот взять вот Это значение

529
00:58:14.720 --> 00:58:17.390
Михаил Непряхин: и вот эти два значения

530
00:58:17.930 --> 00:58:20.100
Михаил Непряхин: а вот Это вот не брать

531
00:58:21.970 --> 00:58:27.300
Михаил Непряхин: и это не брать и это не брать то есть чтобы в итоге получился свайс

532
00:58:27.720 --> 00:58:29.260
Михаил Непряхин: из трехэлементов

533
00:58:29.910 --> 00:58:35.810
Михаил Непряхин: то есть вот это вот сюда уедет это сюда уедет и это сюда уедет

534
00:58:37.040 --> 00:58:38.780
Михаил Непряхин: вот такой еще есть функционал

535
00:58:40.250 --> 00:58:49.060
Михаил Непряхин: и и для этого тоже есть синтез то есть вот Это Мы Тоже можем сделать но Это уже Создается как бы другой свайс

536
00:58:50.460 --> 00:58:51.580
Михаил Непряхин: и

537
00:58:53.060 --> 00:58:54.390
Михаил Непряхин: еще

538
00:58:54.820 --> 00:58:57.080
Михаил Непряхин: Мы можем физически

539
00:58:59.390 --> 00:59:03.770
Михаил Непряхин: сокращать массив слева ну то, есть вот как вот в этом случае Мы взяли вот отсюда,

540
00:59:04.220 --> 00:59:12.610
Михаил Непряхин: ну например, Мы можем взять без дыры просто вот хотим, взять вот это все просто без первого элемента

541
00:59:13.190 --> 00:59:16.130
Михаил Непряхин: то есть у нас тут лент получится, уже не семь а

542
00:59:16.380 --> 00:59:17.420
Михаил Непряхин: а шесть

543
00:59:17.950 --> 00:59:22.260
Михаил Непряхин: и мы начнем а видеть наш массив

544
00:59:22.480 --> 00:59:27.980
Михаил Непряхин: то есть к опасности Можем сдвинуть что Вот он начинаться бод массив не отсюда а отсюда

545
00:59:28.190 --> 00:59:34.500
Михаил Непряхин: и если тут к пасе Было Изначально семь, Мы Можем копать эти Сдвинуть в шесть.

546
00:59:34.780 --> 00:59:36.090
Михаил Непряхин: Вот в Эту сторону

547
00:59:37.300 --> 00:59:52.290
Михаил Непряхин: а еще Мы Можем копасть и Сдвинуть и с правой стороны Тоже. Допустим вот этот последний элемент мы Не хотим видеть в Массиве под капотом мы можем его Тоже, Уменьшить копасть и Бот уже Пять и по факту У нас будет вот эта вот область памяти

548
00:59:53.570 --> 00:59:56.360
Михаил Непряхин: а вот это вот будет не использоваться

549
00:59:57.740 --> 01:00:07.800
Михаил Непряхин: не знаю там соберет эта коробочка Электро Или Нет Там постоянные изменники Это Делают может быть даже вот эту часть на Которую уже никто Не указывает Тоже, собирает Коробочку лектора, останется только вот эта часть

550
01:00:09.390 --> 01:00:10.380
Михаил Непряхин: вот

551
01:00:11.740 --> 01:00:15.320
Михаил Непряхин: Ну вот это вот на самом деле весь функционал

552
01:00:16.870 --> 01:00:21.660
Михаил Непряхин: а Еще Еще Еще про гонку, данных значит как возникает гонка данных

553
01:00:22.740 --> 01:00:24.710
Михаил Непряхин: в этом месте

554
01:00:28.020 --> 01:00:31.220
Михаил Непряхин: вот Мы завели Наш с вайс

555
01:00:36.660 --> 01:00:38.960
Михаил Непряхин: ну есть у нас под капотом

556
01:00:39.300 --> 01:00:40.230
Михаил Непряхин: пассив

557
01:00:41.110 --> 01:00:43.380
Михаил Непряхин: а на Него Мы указываем

558
01:00:44.520 --> 01:00:49.680
Михаил Непряхин: Там Внутри елены копасети и указатель Есть Есть У нас какая то функция

559
01:00:51.310 --> 01:00:54.920
Михаил Непряхин: и она принимает вот этот наш слайс как аргумент

560
01:00:56.870 --> 01:01:10.570
Михаил Непряхин: м-м как вы Знаете функцию Передача Будет чрезкопирование осуществляться Это значит Что Мы в функции будем видеть копию этого свайса То. Есть появляется еще Одна структура еще Один с вайс

561
01:01:11.800 --> 01:01:16.350
Михаил Непряхин: оон под капотом Тоже Будет ссылаться вот на этот вот массив

562
01:01:17.210 --> 01:01:21.970
Михаил Непряхин: получается у нас Есть Две структуры с Лайсом

563
01:01:22.900 --> 01:01:27.530
Михаил Непряхин: и что важно понимать Скопируется ведь елен

564
01:01:28.080 --> 01:01:34.500
Михаил Непряхин: и копати То есть мало того что у них будет общий шаренный массив под капотом

565
01:01:34.810 --> 01:01:37.000
Михаил Непряхин: у них будут разные ленты

566
01:01:37.430 --> 01:01:39.110
Михаил Непряхин: и разные копатики

567
01:01:40.300 --> 01:01:41.520
Михаил Непряхин: и

568
01:01:41.860 --> 01:01:44.690
Михаил Непряхин: Мы можем вот в Этом свайсе

569
01:01:45.030 --> 01:01:47.170
Михаил Непряхин: поменять элен и Копати

570
01:01:47.300 --> 01:01:53.260
Михаил Непряхин: если, тут они были не знаю, Там лен было один окопасите, десять

571
01:01:53.470 --> 01:01:55.820
Михаил Непряхин: то, здесь Мы можем сделать лен

572
01:01:56.350 --> 01:01:57.240
Михаил Непряхин: три

573
01:01:57.480 --> 01:01:59.660
Михаил Непряхин: а капасити восемь

574
01:02:01.140 --> 01:02:16.200
Михаил Непряхин: и то, есть вот этот вот слайс он будет ну я Же и сказал Да что с вас Это как вью То есть Это как бы Мы Через структуру слайса смотрим на массив Через слайс

575
01:02:16.950 --> 01:02:18.890
Михаил Непряхин: и Этот слайс

576
01:02:19.100 --> 01:02:21.760
Михаил Непряхин: Он Будет видеть

577
01:02:21.870 --> 01:02:24.000
Михаил Непряхин: Вот Вот Эту Вот часть,

578
01:02:24.450 --> 01:02:29.150
Михаил Непряхин: аа этого самого Массива под капотом а эта сласть Будет Продолжать видеть

579
01:02:29.620 --> 01:02:31.210
Михаил Непряхин: весь массив

580
01:02:31.540 --> 01:02:39.470
Михаил Непряхин: и если, Мы вот здесь вот Внутри функции, что-то поменяем вот допустим вот эту вот ячейку Мы возьмем поменяем

581
01:02:39.940 --> 01:02:43.400
Михаил Непряхин: то в Этом Свайсе она Поменяется тоже

582
01:02:44.460 --> 01:02:46.620
Михаил Непряхин: ну? Например, если у Него лен один

583
01:02:47.630 --> 01:02:50.040
Михаил Непряхин: а Мы поменяем вот здесь третий элемент

584
01:02:50.510 --> 01:02:51.840
Михаил Непряхин: то, и

585
01:02:52.220 --> 01:02:57.490
Михаил Непряхин: Мы в этом смысле даже и Не увидим Это Изменение потому, Что оно было сделано Там под капотом

586
01:02:57.770 --> 01:03:06.640
Михаил Непряхин: Мы можем Продолжать сюда аппенди добавили алимент Еще добавили элемент вот Отсюда и перезатерли вот этот элемент

587
01:03:06.980 --> 01:03:08.640
Михаил Непряхин: а этотлайс

588
01:03:08.870 --> 01:03:09.990
Михаил Непряхин: увидит

589
01:03:10.090 --> 01:03:13.710
Михаил Непряхин: вот это изменение, потому Что У них под капотом Один, и тот же слайс

590
01:03:17.650 --> 01:03:18.840
Михаил Непряхин: короче говоря

591
01:03:19.230 --> 01:03:24.970
Михаил Непряхин: все задачи собесы они вот про эту гонку данных то есть это гонка данных

592
01:03:25.440 --> 01:03:26.520
Михаил Непряхин: это

593
01:03:26.610 --> 01:03:34.120
Михаил Непряхин: ну как бы с одной стороны косяк да что такая Гонка данных возможна потому, что Ну вот например, власти решили этот вопрос

594
01:03:34.150 --> 01:03:49.920
Михаил Непряхин: но я уж говорил какой ценой вы решили ценой очень высокой Сложности и как бы да круто с одной стороны Еще такого невозможно но с другой стороны ну я не готов, платить такую цену э и как бы

595
01:03:50.140 --> 01:03:52.500
Михаил Непряхин: мне это не, нравится, то есть как бы

596
01:03:54.050 --> 01:03:58.810
Михаил Непряхин: а решение какое вот как вот работать в Этой ситуации с вайсами

597
01:03:59.110 --> 01:04:07.860
Михаил Непряхин: Ну, самое простое Не Меняйте в них ничего Ну, вот получили Вы какую То ссть структуру Свайса но Не Меняйте Вы Там

598
01:04:08.040 --> 01:04:12.480
Михаил Непряхин: даже если это ваш, код вы Там понимаете Что ничего не Будет происходить,

599
01:04:13.060 --> 01:04:16.600
Михаил Непряхин: просто создайте еще Один другой слайс

600
01:04:17.360 --> 01:04:26.890
Михаил Непряхин: и Верните его из функции, да вы можете прямо, вот в эту вот отсылать его Скопировать там но мало ли как потом после вас вашим кодом будут работать

601
01:04:27.000 --> 01:04:29.570
Михаил Непряхин: то, есть мораль Такова что

602
01:04:29.780 --> 01:04:39.660
Михаил Непряхин: вот Эти, вот все возможности, там порезать его как-то что-то лен с резать ко пасть и слезать Слева Справа

603
01:04:40.340 --> 01:04:45.800
Михаил Непряхин: Они нужны для низкого уровня программирования для оптимизации для алгоритмов

604
01:04:45.950 --> 01:05:05.330
Михаил Непряхин: то есть как бы это по сути ансейв как бы операции которую нам дали ну вот пожалуйста, пользуйтесь без всякого там вансейфа на синтаксиса то есть Это прям такой большой френворк для работы с областью памяти по названием вот массив

605
01:05:06.190 --> 01:05:15.640
Михаил Непряхин: и на себе тогда любят это все спрашивать и по сути мы прошу ну, что только из собеседников вот подробно все разбираем что в жизни конечно Ну получили Мы с вай какой то

606
01:05:16.120 --> 01:05:19.940
Михаил Непряхин: Ну не меняйте вы Там ничего создайте еще Один свайс

607
01:05:20.210 --> 01:05:22.890
Михаил Непряхин: Читаем этот слайс в циклифор

608
01:05:23.510 --> 01:05:28.150
Михаил Непряхин: и записываем то Что нам надо в новый слайс

609
01:05:28.580 --> 01:05:29.900
Михаил Непряхин: ньюс лайс

610
01:05:31.660 --> 01:05:39.470
Михаил Непряхин: и уже этот слайс Мы потом Вернем из функции и все и не будет никаких Проблем, не будет. Гонки данных ничего не будет.

611
01:05:39.850 --> 01:05:50.360
Михаил Непряхин: Значит когда я Был когда Еще немного. Работал с Голоду. То я там работу первым нашел, как бы там Еще Не было моды вот так вот мучить, с вайсы она чуть позже пошла

612
01:05:51.010 --> 01:05:55.930
Михаил Непряхин: я на собесах отвечал типа вот спрашиваю чего нибудь там Зачку сдают

613
01:05:56.470 --> 01:06:11.070
Михаил Непряхин: я отвечал типа Что ну? Я же Так в жизни Не Работаю типа Так Делают только мудыки да я ж не мудак я так не делаю типа я не знаю чего будут будет а там задачи как бы, на собеседниках они ну в стиле типа вот Кот прочитай и скажи чего Будет

614
01:06:11.100 --> 01:06:26.380
Михаил Непряхин: типа я Не знаю. Чего Будет я Так Не пишу Но ключе Это Не прокатывает Я так как бы несколько Раз, поотвечал понял, что. Не катит то есть придется разбираться придется отвечать на эти Дурацкие вопросы, и даже если вы так в жизни писать не будете ну вы так не будете скрыть его писать

615
01:06:26.480 --> 01:06:29.690
Михаил Непряхин: вот обо всех. Этих возможностях и надо просто Знать

616
01:06:29.880 --> 01:06:30.770
Михаил Непряхин: Поэтому

617
01:06:31.040 --> 01:06:34.980
Михаил Непряхин: на самом деле это все что можно сделать с лайсом То что я вам рассказал да

618
01:06:35.240 --> 01:06:40.690
Михаил Непряхин: и Теперь только осталось посмотреть как Это делается в Синтаксисе

619
01:06:41.670 --> 01:06:43.630
Михаил Непряхин: и если вы вот Это поняли

620
01:06:44.020 --> 01:06:53.570
Михаил Непряхин: То даже если вы забыли синтаксис вы во Первых и на собеседовании ответите. Ну как бы корректно какую то фигню туфту совсем не будете задвигать

621
01:06:54.020 --> 01:06:55.200
Михаил Непряхин: и и

622
01:06:55.570 --> 01:07:07.950
Михаил Непряхин: ну вы и

623
01:07:08.020 --> 01:07:16.400
Михаил Непряхин: вот но по большому счету все крутится вокруг вот этого выделенного а массива неизменяемого Она он не изменяемый

624
01:07:17.800 --> 01:07:20.640
Михаил Непряхин: то Есть слайс это

625
01:07:20.750 --> 01:07:22.410
Михаил Непряхин: вью над массивом

626
01:07:22.530 --> 01:07:26.590
Михаил Непряхин: так теперь давайте вопросы, вот по Этой части опять же Если какие-то Вопросы, есть

627
01:07:26.790 --> 01:07:30.120
Михаил Непряхин: то прямо, может голос нам задавать

628
01:07:31.260 --> 01:07:39.220
Михаил Непряхин: землю с Вазий семи элементов потом сделали Власть два на основе Сальса один если потом Удаляем элемент Спасти один свадьба изменится

629
01:07:39.700 --> 01:07:53.760
Михаил Непряхин: и Там есть Куча кейсов когда может и Не изменится Но и

630
01:07:54.300 --> 01:07:55.890
Михаил Непряхин: припенди

631
01:07:56.230 --> 01:07:57.580
Михаил Непряхин: может не измениться

632
01:07:57.910 --> 01:08:10.790
Михаил Непряхин: а так как выбираться к опасности при создании спальса можно указать да при создании сальса можно указать то есть вообще вот это вот все можно указать можно указать размеры какой бы вот Массив под капотом насвалится какая У него была длина как опасите то есть

633
01:08:10.790 --> 01:08:20.850
Михаил Непряхин: все что вот можно поменять это ну вот это все меняется извне Как бы структура хоть, и Приватная Мы ее не Видим но Мы понимаем Что она Там есть и вот это все меняется

634
01:08:24.960 --> 01:08:32.050
Михаил Непряхин: так как убираться кпасть просто, так а если Мы его с нуля заполняем чарлз пэн то к опасности будут увеличиваться

635
01:08:32.050 --> 01:08:45.670
Михаил Непряхин: поговорим Сейчас об, этом Там тоже в своей хитрости расскажи пожалуйста, особенности Сравнения с вальсах ну Мы напрямую их не Можем сравнить операторам равно То есть у нас сравнение между свайсами равно Не работает

636
01:08:45.670 --> 01:08:48.220
Михаил Непряхин: свайсы это Не композитор

637
01:08:55.640 --> 01:09:02.750
Михаил Непряхин: завезли недавно из пакета слайсис и там можно сравнить таки ну, либо просто полуэлементно

638
01:09:03.359 --> 01:09:04.529
Михаил Непряхин: Каждый элемент

639
01:09:05.140 --> 01:09:12.470
Михаил Непряхин: ну, Есть Там пре функции можно я ни разу ее Не использовал потому Что рисовали Сравнивать почему то как то Не приходилось

640
01:09:13.010 --> 01:09:21.970
Михаил Непряхин: Так если У нас два Сальса Которые смотрят на Один и тот же мотив Один из лайцев или он выходит закопасити Не может ли выйти за Копасти

641
01:09:22.649 --> 01:09:27.460
Михаил Непряхин: и если выходит Создается новый свайс где происходит перелокация

642
01:09:27.859 --> 01:09:31.680
Михаил Непряхин: ну хорошо Давайте Сейчас я покажу Этот случай отдельно.

643
01:09:31.910 --> 01:09:46.520
Михаил Непряхин: Так закопасти в этом случае Что случится в памяти спасибо для одного создается Новый, а на старом месте все Еще будет соваться, первый свайс да-да-да верно Но Давайте Еще вот Это Тоже, нарисуем так я здесь по моему

644
01:09:47.450 --> 01:09:48.670
Михаил Непряхин: а

645
01:09:49.630 --> 01:09:51.950
Михаил Непряхин: ну вот я показываю пример значит

646
01:09:53.649 --> 01:09:57.280
Михаил Непряхин: Давайте Еще Раз Нарисую из чистого. Листа значит смотрите

647
01:09:57.760 --> 01:10:02.510
Михаил Непряхин: есть У нас Один. Свайс вот он Там указывает на какую То на какой то. Массив

648
01:10:03.320 --> 01:10:05.900
Михаил Непряхин: У Него уже лен

649
01:10:06.410 --> 01:10:11.900
Михаил Непряхин: восемь и Копайте восемь короче все заполнено восемь восемь заполненный

650
01:10:12.190 --> 01:10:15.210
Михаил Непряхин: Мы передаем функцию Например,

651
01:10:15.650 --> 01:10:26.710
Михаил Непряхин: Ну просто функция простой пример Копирования да Ну, Мы короче скопировали массив Ну, вот просто. В когда Мы Передаем функцию он копируется Поэтому Это простой пример ну и чаще всего на собеседник Тоже, по функции любят

652
01:10:27.810 --> 01:10:34.760
Михаил Непряхин: а значит у нас Получилось два теперь, два с лайса то есть два вью На один и тот же участок к памяти

653
01:10:35.090 --> 01:10:38.150
Михаил Непряхин: Им значит здесь мы Делаем Аппетит

654
01:10:40.390 --> 01:10:42.640
Михаил Непряхин: мы Добавляем один элемент

655
01:10:42.770 --> 01:10:45.590
Михаил Непряхин: происходит Перелокация,

656
01:10:47.410 --> 01:10:53.950
Михаил Непряхин: вот здесь вот нового куска памяти Она будет двоих в два раза больше вот эти все элементы сюда Перекопируются

657
01:10:54.370 --> 01:10:56.360
Михаил Непряхин: у нас будет лена

658
01:10:57.810 --> 01:11:02.530
Михаил Непряхин: в Девять мы тут Один. Элемент уже добавим а к опасности будет, ну в два раза шестнадцать

659
01:11:02.710 --> 01:11:12.410
Михаил Непряхин: копаться символом шестнадцать и вот здесь указатель внутри вот этого свайса скопированного он будет, Ссылаться, вот сюда

660
01:11:12.890 --> 01:11:13.820
Михаил Непряхин: ааа

661
01:11:14.160 --> 01:11:18.840
Михаил Непряхин: указывать а вот этот слайс он будет, Продолжать указывать сюда

662
01:11:19.510 --> 01:11:22.610
Михаил Непряхин: и вот этот пример когда дорожки Разошлись

663
01:11:23.150 --> 01:11:35.910
Михаил Непряхин: и теперь, вот здесь хоть что Мы будем менять удалять чего угодно делать короче все они разные они абсолютно разные то есть когда происходит переполнение, к опасности

664
01:11:36.040 --> 01:11:49.430
Михаил Непряхин: и выделение ну это динамические массивы организации структуры динамический массив почему потому что происходит автоматическое выделение памяти при переполнении оригинального изначального массива под капотом потому Что он не изменяемый

665
01:11:49.620 --> 01:11:54.210
Михаил Непряхин: и в этом случае это уже абсолютно Точно разные свайсы

666
01:11:54.540 --> 01:12:03.320
Михаил Непряхин: и вот ну тоже вот на это тоже очень Много задача на собеседованиях и это тоже важно понимать и тоже он был Например рассматривать

667
01:12:03.890 --> 01:12:10.180
Михаил Непряхин: вот теперь Точно все что бывает больше он ничего не забыл больше ничего не бывает

668
01:12:12.050 --> 01:12:15.830
Михаил Непряхин: так ладно голосом Еще кто хочет хочет он не задать вот.

669
01:12:20.730 --> 01:12:28.390
Konstantin: Спросить смотрите если у нас есть слайс мы подрезаем его вначале то копастие будет уменьшаться ну.

670
01:12:28.390 --> 01:12:28.800
Михаил Непряхин: Да.

671
01:12:28.800 --> 01:12:33.790
Konstantin: Если Мы его в конце подрезаем То насколько Я Понял Капости Не Будет Уменьшаться

672
01:12:33.990 --> 01:12:35.230
Konstantin: Так их Нет.

673
01:12:36.140 --> 01:12:54.510
Михаил Непряхин: Да но вот Хороший вопрос значит смотрите когда мы вначале его подрезаем Ну все просто как подрезать копасть идти вначале ну у нас же указательный первый элемент так подрезать вначале ничего не стоит Раз, вот и указываем сюда и для этого свадьба своего уже Нет а тут он остался и как бы все нормально

674
01:12:54.920 --> 01:13:01.230
Михаил Непряхин: а с конца недавно завезли возможность подрезать к опасности с конца Раньше, так было нельзя

675
01:13:01.600 --> 01:13:06.680
Михаил Непряхин: и Поэтому Ммм ну были, как бы тут Проблемки с этим связанные

676
01:13:06.870 --> 01:13:11.470
Михаил Непряхин: сейчас прям можно косить и подрезать с конца

677
01:13:12.660 --> 01:13:16.400
Михаил Непряхин: и в этом случае ну вот смотрите все ведь просто,

678
01:13:17.240 --> 01:13:18.950
Михаил Непряхин: вот здесь У нас ну.

679
01:13:19.300 --> 01:13:21.380
Михаил Непряхин: Аренда, давайте Еще Раз, значит это

680
01:13:23.190 --> 01:13:26.160
Михаил Непряхин: да ты да это хороший вопрос прямо, в темном Час.

681
01:13:26.480 --> 01:13:28.170
Михаил Непряхин: Потраченное время Порцию

682
01:13:29.170 --> 01:13:30.540
Михаил Непряхин: значит

683
01:13:31.370 --> 01:13:34.850
Михаил Непряхин: вот У, нас изначальный слайс на четыре элемента

684
01:13:35.620 --> 01:13:37.140
Михаил Непряхин: Мы его скопировали

685
01:13:38.200 --> 01:13:42.090
Михаил Непряхин: Но ведь это первый свайс вот Он сюда указывает Мы скопировали

686
01:13:42.300 --> 01:13:46.200
Михаил Непряхин: получили Второй слайс который Тоже указывает вот сюда

687
01:13:47.450 --> 01:13:48.550
Михаил Непряхин: ну а

688
01:13:49.050 --> 01:13:56.220
Михаил Непряхин: значит здесь капасити равен вот этому оригинальному салью под Капотом вот Он четыре элемента

689
01:13:56.770 --> 01:14:06.510
Михаил Непряхин: и вот Он вот у нас такой свадьбы капасти четыре когда мы скопировали вот Он тоже был соответственно здесь копасти четыре Ну тут лен пока не интересен да прокопасти важно

690
01:14:08.180 --> 01:14:14.050
Михаил Непряхин: если, мы Сейчас? Возьмем и Копатити Скажем что копайте три

691
01:14:15.800 --> 01:14:18.140
Михаил Непряхин: Ну для нас вот этот элемент

692
01:14:18.730 --> 01:14:20.650
Михаил Непряхин: уже перестает Быть доступным

693
01:14:21.210 --> 01:14:30.110
Михаил Непряхин: и мы оригинальный массив мы с Ним ничего Не Делаем но просто мы ограничили вот здесь от копасти три

694
01:14:30.240 --> 01:14:32.690
Михаил Непряхин: и все вернуть это нельзя

695
01:14:33.130 --> 01:14:46.500
Михаил Непряхин: ну по крайней мере Безопасно Но Возможно она ценит что-то есть такое я Не знаю Не очень силен вонсейфе значит все мы вот до этого элемента больше никогда не можем достучаться вот то есть такая возможность есть

696
01:14:46.600 --> 01:14:54.330
Михаил Непряхин: ну и вначале подрезать да Мы можем еще вначале вот туда подрезать и тогда Ботка пасити два

697
01:14:54.710 --> 01:15:04.940
Михаил Непряхин: и Мы можем управлять только вот этой Области, Памятью памяти но если, мы вот из этого свайся что-нибудь Тут Поменяем Этот увидит эти изменения

698
01:15:05.980 --> 01:15:08.630
Михаил Непряхин: а изначальный массив Не Меняется

699
01:15:10.210 --> 01:15:13.510
Михаил Непряхин: Так Давайте есть Еще вопросы, тут есть в тему, кого-то

700
01:15:18.350 --> 01:15:20.070
Михаил Непряхин: Так ван Давайте Смотрим Кот

701
01:15:21.540 --> 01:15:22.400
Михаил Непряхин: какие

702
01:15:23.690 --> 01:15:28.540
Михаил Непряхин: аа Не нейнициализированный слайс равен Неву

703
01:15:29.030 --> 01:15:33.090
Михаил Непряхин: ну Ка. Пассителен при этом по Нолям

704
01:15:33.880 --> 01:15:39.050
Михаил Непряхин: есть возможность создать инициализированный вальс Он не будет равен нилу,

705
01:15:39.200 --> 01:15:46.230
Михаил Непряхин: но Он будет указывать под капотом на нулевой вот такой вот массив

706
01:15:46.580 --> 01:15:57.170
Михаил Непряхин: я не знаю нафига Это надо ну Говорят что есть кейсы где то важно где важно отличать налвнимовый свайс от

707
01:15:57.320 --> 01:16:02.730
Михаил Непряхин: Нулевого слайса ну мне такое в жизни не встречалось но вот просто важно понимать что вот Есть синтаксис

708
01:16:02.920 --> 01:16:12.570
Михаил Непряхин: инициативу, то Есть это через литеров свайся делается а Есть просто зеровелью зеро вальса нил

709
01:16:19.450 --> 01:16:20.160
Михаил Непряхин: так

710
01:16:20.510 --> 01:16:21.230
Михаил Непряхин: он и

711
01:16:24.150 --> 01:16:27.050
Михаил Непряхин: ну здесь прочь значит как обратиться к элементу

712
01:16:27.660 --> 01:16:30.690
Михаил Непряхин: есть ли у нас такой ниловый и

713
01:16:30.960 --> 01:16:34.050
Михаил Непряхин: слайс не или нетнициатизированный

714
01:16:34.920 --> 01:16:40.370
Михаил Непряхин: Мы в обоих случаях не Можем Обратиться по индексу потому что будет

715
01:16:40.670 --> 01:16:48.610
Михаил Непряхин: индекс ауто фрэнч это топ- два ошибка в гол. После неупоинтера ресепшн

716
01:16:49.470 --> 01:17:04.860
Михаил Непряхин: ну потому Что нету Проверки вронтайме в смысле в компартииме Мы вот здесь заранее Сейчас Не, можем проверить это валидный индекс Или Нет если. Мы запустим то мы получим и

717
01:17:05.340 --> 01:17:09.900
Михаил Непряхин: что мы пытаемся обратиться, к нулевому элементу

718
01:17:10.120 --> 01:17:23.470
Михаил Непряхин: ну а нулевой элемент это как бы первый да то есть индекс индексируется массивы с вальсы с нуля то есть нулевой элемент он первый элемент нулевой и вот он говорит что длина слайся Ноль

719
01:17:23.770 --> 01:17:28.970
Михаил Непряхин: а вы пытаетесь обратиться к аа первому элементу

720
01:17:29.240 --> 01:17:34.390
Михаил Непряхин: то он это может сделать эту проверку только вронтами

721
01:17:36.000 --> 01:17:37.140
Михаил Непряхин: и

722
01:17:39.100 --> 01:17:40.980
Михаил Непряхин: так здесь

723
01:17:41.960 --> 01:17:47.420
Михаил Непряхин: и записать тоже нельзя то есть если вы сейчас начнете писать в нулевой элемент

724
01:17:47.710 --> 01:17:55.530
Михаил Непряхин: э память не инициатива то есть наверняка как бы массив то он не цивилизован но ле н равен нулю

725
01:17:55.900 --> 01:18:02.160
Михаил Непряхин: ячейка памяти как бы еще недоступна ни на чтение ни на запись тоже паника

726
01:18:02.900 --> 01:18:06.290
Михаил Непряхин: как же. Черт возьми записать в такой слайс

727
01:18:06.620 --> 01:18:07.550
Михаил Непряхин: что-то

728
01:18:08.040 --> 01:18:14.200
Михаил Непряхин: почти Всегда Мы Используем Аппен То есть Аппетит используется с асфальцами ну очень часто и почти Всегда

729
01:18:14.350 --> 01:18:30.050
Михаил Непряхин: и если Мы работаем с индексами это не очень Безопасно душу может произойти паника когда Мы делаем Аппетит тут паники Быть не может хоть мы венциализированный свайс что-то Пишем хоть вне инициативной

730
01:18:30.050 --> 01:18:35.290
Михаил Непряхин: А пэнт работает в Любом случае то есть вниловый слайс мы спокойненько можем

731
01:18:35.290 --> 01:18:45.870
Михаил Непряхин: опенди то есть в конец добавлять элементы есть еще интересные возможности у Этой функции аппент можно добавлять сразу несколько элементов

732
01:18:46.760 --> 01:18:50.890
Михаил Непряхин: и есть специальный синтаксис распаковки

733
01:18:52.380 --> 01:18:55.070
Михаил Непряхин: слайса в этот вот слайс

734
01:18:55.440 --> 01:19:04.200
Михаил Непряхин: он выглядит как троеточие значит есть такой тип три точки. Перед типом и здесь любой тип типа и ин стрип

735
01:19:04.580 --> 01:19:07.880
Михаил Непряхин: значит что это значит что мыф

736
01:19:08.190 --> 01:19:11.390
Михаил Непряхин: функцию можем Вторым аргументом

737
01:19:12.000 --> 01:19:14.590
Михаил Непряхин: передать либо ноль

738
01:19:15.570 --> 01:19:18.890
Михаил Непряхин: а элементов либо Один либо много

739
01:19:19.180 --> 01:19:21.680
Михаил Непряхин: то Есть это такой

740
01:19:22.720 --> 01:19:40.030
Михаил Непряхин: ну как бы вот Единственная возможность и

741
01:19:40.150 --> 01:19:57.280
Михаил Непряхин: значит как, сюда ну вот допустим вот мы вот этот вайт, хотим? Что-то передать если, мы его просто, сюда будем передавать то он посветит что типа сигнатура-то ведь Не свайся вот целая. Сигнатура. Да а Это ты пытаешься сделать Добавить с лайс свайс

742
01:19:57.280 --> 01:20:07.350
Михаил Непряхин: Но можем Добавить вот сюда три точки и произойдет, Распаковка этого свайса он как бы превратится в три точки

743
01:20:07.980 --> 01:20:09.160
Михаил Непряхин: элементов

744
01:20:09.690 --> 01:20:24.500
Михаил Непряхин: это конечно же все равно будет слайс но благодаря этому как бы тут повышается немножко типизация что не просто мы свои передаем как бы можно думать об Этом что сюда попадает с лайс и он превращается в отдельные элементы и как бы вот восстает

745
01:20:24.770 --> 01:20:28.430
Михаил Непряхин: через, запятую на атаку там Стринг, Стрелка

746
01:20:29.770 --> 01:20:33.770
Михаил Непряхин: вот про Это прото чуть что же поговорим где оно используется

747
01:20:33.950 --> 01:20:35.880
Михаил Непряхин: вот значит получаем

748
01:20:36.930 --> 01:20:38.930
Михаил Непряхин: а получаем свайс

749
01:20:39.040 --> 01:20:42.130
Михаил Непряхин: у Которого, добавится лен плюс один

750
01:20:45.200 --> 01:20:53.460
Михаил Непряхин: тут, будет лен один капасети Один ну тут почему Один был тут ноль потому, Что он создал Новый массив

751
01:20:53.950 --> 01:21:11.390
Михаил Непряхин: как вы Помните массив под капотом свайся неизменяемый а раскопайте было ноль то ему пришлось выделить Новый массив и По умолчанию Тонко пасти равен Один и он Там Потом как он Растет ну он двоих Растет и там

752
01:21:12.050 --> 01:21:16.690
Михаил Непряхин: По-разному он там уменьшается со Временем это Мы чуть позже посмотрим

753
01:21:17.490 --> 01:21:24.720
Михаил Непряхин: так вопрос в тему, тут какие-то есть а если это будет другой тип данных вторая точи ну главное чтобы он совпадал со слайсом

754
01:21:25.280 --> 01:21:32.400
Михаил Непряхин: с типом слайса вот у меня Тут Стринги и вот мы только Стринги и можем добавить через три тучи если. Бы инты но надо Было бы

755
01:21:32.540 --> 01:21:36.200
Михаил Непряхин: а ин. Инты добавлять то есть тут типизация работает

756
01:21:37.420 --> 01:21:49.270
Михаил Непряхин: Так пом Да ну теперь Мы Можем обратиться. По Нулевому элементу уж теперь то он тут Добавлен у нас лен Единица значит по первому элементу с наливым индексом Можем обратиться,

757
01:21:49.430 --> 01:21:51.210
Михаил Непряхин: записать тоже теперь. Можем

758
01:21:51.470 --> 01:21:54.740
Михаил Непряхин: записываться. Вот указываться. Этот элемент в квадратных точках

759
01:21:55.450 --> 01:21:58.190
Михаил Непряхин: нулевой элемент ну то Есть он первый

760
01:21:58.570 --> 01:22:01.420
Михаил Непряхин: с Нулевыми Индексами туда где вам запись

761
01:22:01.860 --> 01:22:11.120
Михаил Непряхин: можем сделать инициативу сразу нужными Назначениями ну, то есть вот здесь у нас просто произойдет инициатива

762
01:22:11.320 --> 01:22:18.690
Михаил Непряхин: ну и Там копааси будет ну три ирин будет и копасть в три

763
01:22:20.590 --> 01:22:25.190
Михаил Непряхин: а вот обычно так и работают с лайсом то, есть через литературу

764
01:22:26.610 --> 01:22:30.690
Михаил Непряхин: и мы можем использовать и

765
01:22:31.200 --> 01:22:32.470
Михаил Непряхин: Вунсон. Мейк

766
01:22:32.830 --> 01:22:42.770
Михаил Непряхин: она используется не Только со слайсами и с массивами и с канамами также и с Мапами, но вот чаще всего вы будете увидите с Лайсами, это возможность

767
01:22:43.000 --> 01:22:51.010
Михаил Непряхин: Сразу, Же указать Какой будет, лен и Какой бодко пасю вот здесь вот Мы говорим что Мы хотим, получить Стринг,

768
01:22:51.540 --> 01:22:53.200
Михаил Непряхин: Свадьрингов

769
01:22:53.500 --> 01:22:55.710
Михаил Непряхин: длина его будет ноль

770
01:22:56.360 --> 01:23:01.300
Михаил Непряхин: то есть если бом о пэнди то Мы будем оппонить в первый элемент

771
01:23:03.440 --> 01:23:13.870
Михаил Непряхин: а остальные элементы будут Зероэлью Ну в случае Стринг, Это будут пустые элементы в случае Там у винтов Это будут нули просто

772
01:23:17.070 --> 01:23:29.210
Михаил Непряхин: а значит и копайте будет Опять Мы можем любую цифру написать такое такая бодка пасти и если вернее неправильно, сказал вот Так Там будет как бы хоть. Озеро но Мы его не увидим

773
01:23:29.410 --> 01:23:45.390
Михаил Непряхин: можем еще вот так вот сделать и это будет и лен пети равно и к копасти будет быть все равно и вот в этом случае оно бы озеро Или просто вот короче говоря слайс пустых Стрингов в нашем случае пять пустых Стрингов

774
01:23:46.180 --> 01:23:57.370
Михаил Непряхин: лен пять копайте пять а вот в этом Случае Можем разделить первый год лен старая копасти но обычно вот так все таки делают классические то есть если вы знаете Сколько элементов вам надо хранить типа вам надо

775
01:23:57.500 --> 01:24:07.130
Михаил Непряхин: Две тысячи элементов вы можете сразу сделать так провокацию здесь будет ноль ну и будьте тудапонтить по одному и ленлин будет так расти

776
01:24:10.380 --> 01:24:16.440
Михаил Непряхин: здесь уже будет Не нила вы сама из-под капота естественно он будет инициативный уже

777
01:24:16.550 --> 01:24:18.210
Михаил Непряхин: лен тв

778
01:24:18.870 --> 01:24:23.720
Михаил Непряхин: так получается копии япенд это Одно,

779
01:24:24.040 --> 01:24:30.880
Михаил Непряхин: так и ницлай саудс лайс а пэнт иниц лайс он взялась на утро и тотчас из конца заставить

780
01:24:33.940 --> 01:24:35.930
Михаил Непряхин: мммм

781
01:24:37.620 --> 01:24:40.800
Михаил Непряхин: Так ну если этот слайс Нулевой

782
01:24:41.860 --> 01:24:46.720
Михаил Непряхин: Он им. Же добавит А пэнтон. Тут вы Представляете Каппи он копирует

783
01:24:47.000 --> 01:24:55.130
Михаил Непряхин: а пэн добавляет одно и то же это Было Только в том случае если вот это нулевой был слайс и вот это нулевой был слайс

784
01:24:55.610 --> 01:24:56.670
Михаил Непряхин: тогда да

785
01:24:57.410 --> 01:24:59.740
Михаил Непряхин: вот ну кроша все таки копия пэн не одно, и то же

786
01:24:59.890 --> 01:25:05.350
Михаил Непряхин: в некоторых ситуациях оно может быть одним и то же но так Еще по-хорошему По-разному надо о них думать

787
01:25:06.630 --> 01:25:10.050
Михаил Непряхин: значит про доступ

788
01:25:10.970 --> 01:25:13.690
Михаил Непряхин: ну это я уже сказал да

789
01:25:14.060 --> 01:25:17.050
Михаил Непряхин: просто По индексам обращаемся

790
01:25:18.150 --> 01:25:24.000
Михаил Непряхин: можно в цикле фор пройтись по свайсу

791
01:25:24.170 --> 01:25:25.690
Михаил Непряхин: но

792
01:25:25.980 --> 01:25:34.050
Михаил Непряхин: важно не выйти за границу потому что здесь проверки не будут фронтами как бы если Вы Тут чего-нибудь Ошиблись как-нибудь Не знаю начали

793
01:25:34.230 --> 01:25:37.180
Михаил Непряхин: с чего-нибудь Не того

794
01:25:37.320 --> 01:25:45.370
Михаил Непряхин: То Вы можете выйти ну здесь Допустим Ошиблись Вы можете выйти За границу с лайсом вот ошибка

795
01:25:45.490 --> 01:25:50.100
Михаил Непряхин: вот есть вариант прямо без ошибок точно пройтись

796
01:25:50.160 --> 01:26:00.830
Михаил Непряхин: уерироваться, по всему сфальцу по всей коллекции вот просто вранже делать рефор рэндж и здесь вы получаете вэлью то есть значение свайса

797
01:26:00.830 --> 01:26:11.410
Михаил Непряхин: первым Значением будет индекс ну. Обычно Ай Делают, если, вам Вдруг Нужен прямо, индекс вот этот вот получить, вот вы можете его первым знанием, здесь получить,

798
01:26:12.090 --> 01:26:22.480
Михаил Непряхин: а если, вам нужен только индекс то, можно при этом использовать только одно, число А если, вам нужно только вэлью то вот придется здесь занулить его как Не используемая

799
01:26:23.040 --> 01:26:27.490
Михаил Непряхин: А пэнт значит просто добавляет в конец вайсам значение

800
01:26:28.120 --> 01:26:31.540
Михаил Непряхин: папин Сложная функция Тоже как бы при Этом еще

801
01:26:32.030 --> 01:26:36.370
Михаил Непряхин: когда был он там чуть-чуть позже посмотрим про Это

802
01:26:37.030 --> 01:26:50.110
Михаил Непряхин: так Есть функция клирк недавно добавили она на дженериках здесь дженерики она работает и со Слайсами и с Мапами ведь она джинелек функция

803
01:26:50.220 --> 01:27:00.300
Михаил Непряхин: короче она ведет себя По-разному смапами и с майсами в случае слайсов она просто зануляет себе. Значение то есть все Значения с слайся Надевать зеркалью

804
01:27:00.650 --> 01:27:10.460
Михаил Непряхин: есть ли до этого Я добавил Что У Меня, тут был слайс юзерс с тремя Пользователями если Мы Применим к Лир Там просто останутся пустые строки Вот Так вот

805
01:27:10.890 --> 01:27:15.250
Михаил Непряхин: никогда Не, Приходилось пользоваться. Но может быть где То в алгоритмах это нужно

806
01:27:17.240 --> 01:27:29.650
Михаил Непряхин: Так ну вот да Еще Раз, здесь я показываю значит если Мы одно, число указываем в мейке это Бот елены копаасити этого значения просто будут зеркалью Прямо пронициализировано значение

807
01:27:29.650 --> 01:27:38.490
Михаил Непряхин: если нолик и пасе То Там Конечно тоже будет Зравелью но Мы Их не увидим если. Мы будем читать с лайф То Мы будем видеть что он просто пустой

808
01:27:39.910 --> 01:27:41.610
Михаил Непряхин: Так про копирование

809
01:27:45.540 --> 01:27:49.270
Михаил Непряхин: ну вот То, что спрашивали вы да То, есть если У нас есть

810
01:27:49.680 --> 01:27:51.560
Михаил Непряхин: Мы можем взять

811
01:27:53.580 --> 01:27:59.880
Михаил Непряхин: создать пустой слайс с длинной заранее вот этой, вот

812
01:28:00.510 --> 01:28:03.210
Михаил Непряхин: а Исходного свайса типа соуса

813
01:28:03.490 --> 01:28:07.100
Михаил Непряхин: не сделали типа дистаннейший на свайс

814
01:28:07.300 --> 01:28:18.400
Михаил Непряхин: э, через, копии Мы копируем все что было здесь в Соусе в Дистейнейшем важно чтобы У них совпадали совпадала длина

815
01:28:20.940 --> 01:28:27.310
Михаил Непряхин: Ну наверняка Пасе Да копасть важно чтоб У них тушили на то ладно короче смысл в чем

816
01:28:27.490 --> 01:28:28.940
Михаил Непряхин: Есть ли

817
01:28:30.060 --> 01:28:38.620
Михаил Непряхин: вот здесь вот дистенейшен Не будет места То он Так скопирует только То что. Есть Поэтому как бы из Копии здесь

818
01:28:38.810 --> 01:28:52.450
Михаил Непряхин: как вы знаете с копией вообще вот в продакшен коде ни, разу не приходилось работать то. Есть, Поэтому про Копии вот как, бы много вопросов про копирование да смайцев вот я вот прямо вижу что вот Прям люди интересуют как, первые свайсы

819
01:28:54.200 --> 01:28:55.780
Михаил Непряхин: обычно ведь,

820
01:28:56.110 --> 01:29:02.730
Михаил Непряхин: как бы Нет нужды копировать слайс ну типа вы получаете какой То исходный свайс

821
01:29:02.940 --> 01:29:15.240
Михаил Непряхин: и вы просто в цикле фор по нему по нему идете и там либо фильтруете и берете только то что вам нужно либо как то меняете но вы это записываете, в Новый слайс

822
01:29:15.560 --> 01:29:29.190
Михаил Непряхин: и Поэтому вот эти Вопросы, про копирование слайса я Даже ни на откуда не берутся типа что вы хотите. Писать что нам надо скопировать свать то есть Ну в жизни Копирования свадьба. Никогда не происходит честно Скажу

823
01:29:29.390 --> 01:29:33.810
Михаил Непряхин: то есть видимо Ну Только для каких-то алгоритмов Но я не очень Понимаю каких

824
01:29:35.350 --> 01:29:39.860
Михаил Непряхин: ну потому Что типа зачем нам копья слайса она же нам неспроста нужна

825
01:29:40.230 --> 01:29:47.060
Михаил Непряхин: а наверное она нужна чтобы что-то Там изменить Ну типа ну? Проходите вы в цикле сразу меняете сохраняйте новый Сайт,

826
01:29:47.530 --> 01:29:49.910
Михаил Непряхин: так

827
01:29:51.310 --> 01:29:52.960
Михаил Непряхин: чего у нас тут еще

828
01:29:53.740 --> 01:29:55.380
Михаил Непряхин: создаем

829
01:29:55.540 --> 01:29:59.380
Михаил Непряхин: а ну? Вот это Проснулась бай это я уже Рассказал что

830
01:30:00.170 --> 01:30:08.990
Михаил Непряхин: очень легко переводится сласть байты в строку и Строки в лайсбайты и У копии Есть специальный кейс

831
01:30:09.780 --> 01:30:18.810
Михаил Непряхин: когда Мы можем копернуть Прям Вот Вот это У нас лайт, а здесь можем прямо просто страху указать ну Типа для Удобства

832
01:30:18.890 --> 01:30:28.310
Михаил Непряхин: и ну Только проблема. Смотрите здесь в чем вот У нас длинная новика Пасе и соответственно вот этого свайса она равна трем тут три элемента

833
01:30:28.330 --> 01:30:43.440
Михаил Непряхин: и и

834
01:30:43.480 --> 01:30:45.680
Михаил Непряхин: вот Поэтому как бы

835
01:30:45.930 --> 01:30:52.830
Михаил Непряхин: не важно помнить ну? Если вы будете много Работать Копией То Уж Наверно вы Там Проверите Все кейсы как Оно себя ведет

836
01:30:53.530 --> 01:30:59.180
Михаил Непряхин: я Еще Раз, говорю Я скопит просто вообще Не работаю то есть Я Не очень понимаю в каких каких Кейсах это нужно

837
01:31:00.390 --> 01:31:01.300
Михаил Непряхин: так

838
01:31:02.420 --> 01:31:03.890
Михаил Непряхин: давайте посмотрим

839
01:31:05.530 --> 01:31:10.520
Михаил Непряхин: аа если Не терроризировать Тремя нолями какую-нибудь ембот ну три три

840
01:31:10.970 --> 01:31:13.190
Михаил Непряхин: лилин вот три капасти три

841
01:31:13.880 --> 01:31:22.320
Михаил Непряхин: так сортировать свалить свои функции, или Сахар есть Сахар есть недавно завезли

842
01:31:22.420 --> 01:31:23.670
Михаил Непряхин: слайс

843
01:31:24.640 --> 01:31:25.910
Михаил Непряхин: слайсес

844
01:31:26.390 --> 01:31:27.440
Михаил Непряхин: сорт,

845
01:31:28.500 --> 01:31:32.150
Михаил Непряхин: против тебя просто кидаете и Оно сортирует

846
01:31:32.410 --> 01:31:43.410
Михаил Непряхин: вот но если нужна какая-то ну. Да ну. Это Там ка основная Сортировка для структур, а в Принципе Эти,

847
01:31:43.870 --> 01:31:50.390
Михаил Непряхин: свайс Сейчас вот сахар, слава богу завезли для сортировки опять. Же Сортировка свайсов

848
01:31:52.260 --> 01:31:55.440
Михаил Непряхин: дорогая Функция потом Редко используется

849
01:31:57.210 --> 01:31:59.540
Михаил Непряхин: ну, понятно, что травка недешевая

850
01:32:00.390 --> 01:32:01.300
Михаил Непряхин: так

851
01:32:01.590 --> 01:32:05.750
Михаил Непряхин: здесь вопросов, пока я думаю Нет да здесь пока все понятно,

852
01:32:07.120 --> 01:32:13.350
Михаил Непряхин: да вот самая Жесть. Вот Она вот Она Жесть. Работа, когда мы

853
01:32:14.020 --> 01:32:17.710
Михаил Непряхин: хотим, получить, вью какое то вот

854
01:32:19.670 --> 01:32:25.100
Михаил Непряхин: странные когда мы хотим, Допустим у нас Есть слайс

855
01:32:25.370 --> 01:32:26.990
Михаил Непряхин: мы его заницировали

856
01:32:27.450 --> 01:32:31.200
Михаил Непряхин: значит что мы можем с этим с лайсом сотворить

857
01:32:31.830 --> 01:32:37.850
Михаил Непряхин: ну во-первых мы можем его просто скопировать

858
01:32:37.990 --> 01:32:49.850
Михаил Непряхин: таким вот образом просто взять этот вальс на ключе взять все вот этот синтекс двоеточие он нужен, для того чтобы сказать как Нарезать слайс

859
01:32:50.560 --> 01:32:51.950
Михаил Непряхин: значит

860
01:32:52.380 --> 01:32:58.840
Михаил Непряхин: Ну надо нервы начинать с этого объяснять Сейчас какую-нибудь вот с этого Примера Давайте

861
01:32:59.090 --> 01:33:03.180
Михаил Непряхин: значит такая задача значит Мы Хотим, взять

862
01:33:05.610 --> 01:33:08.030
Михаил Непряхин: Сейчас я сам сам боже чем тут берем

863
01:33:09.320 --> 01:33:11.150
Михаил Непряхин: синтакси Читается Так

864
01:33:11.670 --> 01:33:13.420
Михаил Непряхин: значит возьми им

865
01:33:15.510 --> 01:33:16.800
Михаил Непряхин: слайс юзерс

866
01:33:17.370 --> 01:33:19.740
Михаил Непряхин: Окей мирон с вайс визерс

867
01:33:20.220 --> 01:33:21.670
Михаил Непряхин: значит и

868
01:33:21.800 --> 01:33:24.140
Михаил Непряхин: возьми у него,

869
01:33:26.380 --> 01:33:28.890
Михаил Непряхин: элемент с индексом Два

870
01:33:29.670 --> 01:33:36.360
Михаил Непряхин: смотри. Какой у нас элемент синтеза с индексом два вот кейт у нас кейт индексом два

871
01:33:37.550 --> 01:33:38.780
Михаил Непряхин: да и

872
01:33:39.920 --> 01:33:41.140
Михаил Непряхин: возьми,

873
01:33:41.460 --> 01:33:47.090
Михаил Непряхин: элемент с индексом шесть вот у нас майк с индексом Шесть! То есть возьми,

874
01:33:47.350 --> 01:33:48.800
Михаил Непряхин: вот Эту область.

875
01:33:49.760 --> 01:33:50.930
Михаил Непряхин: Но

876
01:33:51.330 --> 01:33:52.220
Михаил Непряхин: значит

877
01:33:52.690 --> 01:33:55.450
Михаил Непряхин: вот этот! Вот первый индекс

878
01:33:55.920 --> 01:33:57.630
Михаил Непряхин: откуда начинается

879
01:33:57.870 --> 01:33:59.600
Михаил Непряхин: он включительно

880
01:33:59.920 --> 01:34:03.640
Михаил Непряхин: а вот этот вот индекс он исключительно

881
01:34:03.750 --> 01:34:09.060
Михаил Непряхин: то есть как бы тут надо запомнить вот это включительно это исключительно в крымувыкл

882
01:34:09.450 --> 01:34:13.190
Михаил Непряхин: значит мы берем не вот так вот

883
01:34:13.680 --> 01:34:19.410
Михаил Непряхин: не по шестой включительно а по шестой исключительно то есть мы возьмем вот так вот

884
01:34:20.640 --> 01:34:23.920
Михаил Непряхин: то есть вот здесь вот внутри

885
01:34:24.020 --> 01:34:27.950
Михаил Непряхин: Мы будем Иметь вот такой вот слайс

886
01:34:28.630 --> 01:34:34.150
Михаил Непряхин: то Есть начиная со второго Элемента включительно по шестой исключительно

887
01:34:35.730 --> 01:34:37.180
Михаил Непряхин: то Есть

888
01:34:37.470 --> 01:34:44.690
Михаил Непряхин: удаляем вначале элементы вити боплес Мы удалили и Мы удалили майки Роберт

889
01:34:47.400 --> 01:34:48.170
Михаил Непряхин: а и

890
01:34:48.710 --> 01:35:00.310
Михаил Непряхин: этот синтаксис Это значит что возьми с Ноля То Есть что вот эта вот ноль что вот Это вот Это одно, и то же то есть возьми, с самого Начала

891
01:35:00.900 --> 01:35:03.880
Михаил Непряхин: по четвертый, элемент

892
01:35:04.020 --> 01:35:09.300
Михаил Непряхин: вернеепо элемент с индексом Четыре но исключительно то Есть Мы берем с самого Начала

893
01:35:09.620 --> 01:35:15.160
Михаил Непряхин: доходим до четвертого элемента но он исключителен Поэтому у нас вот здесь будет

894
01:35:15.550 --> 01:35:17.720
Михаил Непряхин: а вот это Вот

895
01:35:19.590 --> 01:35:26.420
Михаил Непряхин: и то же самое в конце значит Мы говорим Возьми с третьего Элемента включительно то Есть Отсюда Возьми и До конца

896
01:35:26.570 --> 01:35:37.300
Михаил Непряхин: то Есть если ничего мы не указали то это будет до конца где же у него конец вопрос интересный потому что если вот это вот значение исключительно

897
01:35:37.540 --> 01:35:40.060
Михаил Непряхин: то если мы возьмем до седьмого

898
01:35:40.540 --> 01:35:42.180
Михаил Непряхин: то это будет

899
01:35:43.230 --> 01:35:47.250
Михаил Непряхин: до седьмого доходим но седьмой исключительно то Есть это будет вот такой кусок

900
01:35:47.600 --> 01:35:48.510
Михаил Непряхин: слайса

901
01:35:48.860 --> 01:35:56.190
Михаил Непряхин: Поэтому если Мы хотим, понять Что как оно выглядит вот это когда ничего Нет здесь восьмерка

902
01:35:56.340 --> 01:35:58.770
Михаил Непряхин: то есть вот три восемь

903
01:35:59.580 --> 01:36:04.790
Михаил Непряхин: это будет ээ вот так вот это то же самое что три и ничего

904
01:36:05.360 --> 01:36:11.360
Михаил Непряхин: то есть вот этот вот синтаксис двоеточие он Нужен вот для обрезки,

905
01:36:12.350 --> 01:36:13.560
Михаил Непряхин: и Концов

906
01:36:14.090 --> 01:36:23.300
Михаил Непряхин: либо взять все Сначала для какого-то Элемента Но второй элемент. Он исключительно либо Взять какого-то до конца

907
01:36:23.480 --> 01:36:36.580
Михаил Непряхин: А ну Это Будет отключительно То есть короче сам могла начать запомнить вот это включительно это исключительно и когда какие такие задачи попадаются нумеруете прямо, так вот элементы индекс

908
01:36:37.250 --> 01:36:40.590
Михаил Непряхин: и прям вот размышляете так

909
01:36:40.850 --> 01:36:43.270
Михаил Непряхин: смотрим два включительная

910
01:36:43.700 --> 01:36:48.560
Михаил Непряхин: шесть доходим на шесть исключительно, вот такой кусок у нас в памяти получается

911
01:36:49.400 --> 01:36:53.310
Михаил Непряхин: что еще тут, можно Какие Все варианты Какие могут Быть

912
01:36:53.730 --> 01:37:05.230
Михаил Непряхин: Ну Берем Все Берем Все с самого Начала Берем до Конца Таким образом Можно Из Массива. Сделать вайс если У нас есть массив Мы можем вот от на массиве этот синтаксис

913
01:37:05.450 --> 01:37:06.860
Михаил Непряхин: она тоже работает

914
01:37:07.050 --> 01:37:09.410
Михаил Непряхин: просто результат этого

915
01:37:09.550 --> 01:37:19.760
Михаил Непряхин: действие будет Новый и

916
01:37:21.420 --> 01:37:28.130
Михаил Непряхин: и и

917
01:37:29.160 --> 01:37:40.080
Михаил Непряхин: я Помню Там оговорился Для этого говорил что массив под капотом несменяемой копаете его Массива неизменяемая Но элементы они изменяемые Внутри

918
01:37:41.530 --> 01:37:46.970
Михаил Непряхин: значит это возьми с ноля включительно

919
01:37:48.170 --> 01:37:50.220
Михаил Непряхин: и доноля

920
01:37:50.360 --> 01:37:51.670
Михаил Непряхин: исключительно

921
01:37:52.150 --> 01:38:04.900
Михаил Непряхин: то есть ничего то есть возьми первый элемент включительно но если, опять. Же Ноль значит исключительно и ну как бы вот возьми, ничего возьми, слайс на пустой массив

922
01:38:06.830 --> 01:38:10.930
Михаил Непряхин: здесь с первого Элемента возьми, Включительно

923
01:38:11.250 --> 01:38:28.190
Михаил Непряхин: но по первый Исключительно опять. Же пустой массив ну То есть как Бы вот Это Тоже насобезар Любят Спрашивать такое вот дермище Уже в жизни-то как Бы вот Этого вообще в Принципе Не используется и уж на нгу редко бывает такое надо вот а вот на собеседник любят Спрашивать

924
01:38:28.560 --> 01:38:36.290
Михаил Непряхин: но опять же если прямо вас зачем-то мучают потому, что на синьорных совбезах это уже думаю не спрашивают на си нервных собеседников Там просто

925
01:38:36.500 --> 01:38:42.990
Михаил Непряхин: да задача на гурутину задачу на Канал и все Мы Погнали дальше то есть короче говоря

926
01:38:43.820 --> 01:38:48.950
Михаил Непряхин: и если не можете пройти совместно Мидва Проходите на синей Рад Там все сильно легче

927
01:38:49.840 --> 01:38:52.410
Михаил Непряхин: Так ну главное вести себя по увереннее конечно

928
01:38:53.110 --> 01:38:56.560
Михаил Непряхин: здесь мы берем все сначала

929
01:38:58.050 --> 01:39:00.040
Михаил Непряхин: и по первый элемент.

930
01:39:00.270 --> 01:39:03.830
Михаил Непряхин: Исключительно это значит мы возьмем Только первый боб

931
01:39:04.690 --> 01:39:14.000
Михаил Непряхин: ну и короче вот вот вот можете тут сами и тренироваться берем седьмого элемента где седьмой момент вот седьмой элемент до конца ну Окей значит У нас тут Будет роберт

932
01:39:14.110 --> 01:39:17.000
Михаил Непряхин: возьмем седьмого Индекса

933
01:39:17.460 --> 01:39:21.610
Михаил Непряхин: опять, же до конца наконец У нас это восьмой и вот У нас это

934
01:39:21.800 --> 01:39:34.970
Михаил Непряхин: тоже самый роберт если Мы тут сделаем Анну вот я тут делаю Девять возьми с самого Начала по девятый элемент то тут будет паника вронтайме что мы вышли. Что у вас копайте блин

935
01:39:35.110 --> 01:39:40.220
Михаил Непряхин: капасети восемь а ты выходишь за границу в копасти но это проверка только в фронтаме

936
01:39:40.590 --> 01:39:47.740
Михаил Непряхин: ну! И здесь то же самое повод скажут я Не, Могу взять начиная с девятого Элемента Включительно

937
01:39:47.980 --> 01:39:49.510
Михаил Непряхин: потому что Блин его Нет

938
01:39:49.730 --> 01:39:51.520
Михаил Непряхин: вот с восьмого то я Могу

939
01:39:51.640 --> 01:39:52.550
Михаил Непряхин: взять

940
01:39:52.660 --> 01:40:00.070
Михаил Непряхин: то есть Как Бы смотрите восьмой Элемент он тут фантомный Как Бы он тут есть да То есть восьмой

941
01:40:00.430 --> 01:40:02.350
Михаил Непряхин: ага не Видно

942
01:40:02.490 --> 01:40:03.380
Михаил Непряхин: Джаз

943
01:40:03.920 --> 01:40:06.960
Михаил Непряхин: вот восьмой элемент Он здесь как бы вот

944
01:40:07.260 --> 01:40:08.590
Михаил Непряхин: как будто Есть

945
01:40:08.930 --> 01:40:11.300
Михаил Непряхин: и Почему Он тут появляется

946
01:40:11.610 --> 01:40:18.190
Михаил Непряхин: потому что Исключительно, как взять Последний элемент

947
01:40:18.420 --> 01:40:36.530
Михаил Непряхин: если, он блин вот этот синтез, если, он исключает ну вот придумать что там есть Еще восьмой вот и это тоже как бы из приколов что могут нас собейся если вас сильно мучают спросить потому что тоже как бы не очевидны Вы такие как бы

948
01:40:36.720 --> 01:40:42.220
Михаил Непряхин: читайте возьми индекс седьмого элемента по индекс восьмого элемента

949
01:40:42.710 --> 01:40:48.690
Михаил Непряхин: вернее индекс восемь но индекс возим ведь Нет это за границей.

950
01:40:48.840 --> 01:40:59.060
Михаил Непряхин: Но в этом случае он есть и даже более того даже если вы его первым используете вот как читается вот эта штука что типа возьми и

951
01:40:59.500 --> 01:41:01.620
Михаил Непряхин: элемент с индексом восемь

952
01:41:01.930 --> 01:41:05.110
Михаил Непряхин: по элемент с индексом восемь

953
01:41:05.360 --> 01:41:17.080
Михаил Непряхин: вы такие элемент с индексом восемь он где у меня есть элемент только с индексом семь а вот на самом деле элемент с индексом восемь он вот здесь невидимый и вы можете взять с него.

954
01:41:17.300 --> 01:41:27.830
Михаил Непряхин: Включительно. Про него. Исключительно. Ну Или даже вот так вот до конца вот То же самое что вот восемь восемь и У вас просто будет пустой слай святой

955
01:41:28.680 --> 01:41:39.150
Михаил Непряхин: вот это очень веселый индекс который вот ну, только вот щупать смотреть и вот пытаться ну, вот как, я сказал читать Включительно Исключительно

956
01:41:41.010 --> 01:41:43.430
Михаил Непряхин: ну, этот пример мы Смотрели

957
01:41:44.010 --> 01:41:48.190
Михаил Непряхин: Да прокопаюсь я Сейчас тоже Скажу Давайте посмотрим чего Там вопросы? Какие То появились

958
01:41:49.450 --> 01:41:52.470
Михаил Непряхин: Давайте если есть вопрос Или тут? Можете Голосом тоже задать

959
01:41:55.040 --> 01:41:57.490
Михаил Непряхин: Капассити восемь лен пять

960
01:41:57.850 --> 01:42:00.220
Михаил Непряхин: свайс ноль восемь

961
01:42:00.920 --> 01:42:04.250
Михаил Непряхин: и так можно сделать

962
01:42:04.740 --> 01:42:07.740
Михаил Непряхин: он просто Тамбудировал,

963
01:42:08.100 --> 01:42:11.550
Михаил Непряхин: То есть вы заглядываете за

964
01:42:11.980 --> 01:42:12.960
Михаил Непряхин: лен

965
01:42:13.120 --> 01:42:17.250
Михаил Непряхин: ну там будут просто. Зеровые если это у вас инты там просто. Будут нули

966
01:42:17.470 --> 01:42:19.310
Михаил Непряхин: Ну, да Так можно

967
01:42:19.710 --> 01:42:20.520
Михаил Непряхин: Так можно

968
01:42:21.820 --> 01:42:31.010
Михаил Непряхин: и Поэтому Еще тоже как бы не любят ну какого черта но ведь в кошке все инициализировано там нули будут если это и если это Строги будут но там будут пустые строки

969
01:42:31.540 --> 01:42:38.830
Михаил Непряхин: Да можете потренироваться так можно так юзерс ноль лен юзерс плюс один

970
01:42:40.350 --> 01:42:45.330
Михаил Непряхин: ну Да но это то. Же самое получается выбирать ленюзерс

971
01:42:47.650 --> 01:42:51.470
Михаил Непряхин: допустим как здесь да у меня, здесь восемь элементов

972
01:42:51.650 --> 01:42:54.710
Михаил Непряхин: лен юзерс здесь у вас будет, восемь плюс один

973
01:42:55.260 --> 01:43:02.520
Михаил Непряхин: девять а ну Нет Не. Получится, так то есть вы здесь выйдете за границу

974
01:43:03.890 --> 01:43:08.910
Михаил Непряхин: будет ошибка Что вы обратитесь вот к Этому девятому которого нет

975
01:43:10.900 --> 01:43:12.280
Михаил Непряхин: Значит

976
01:43:12.470 --> 01:43:13.580
Михаил Непряхин: еще

977
01:43:15.380 --> 01:43:17.710
Михаил Непряхин: еще еще Так. Сейчас.

978
01:43:18.100 --> 01:43:21.270
Михаил Непряхин: Ага ну ограничить да по ограничению с вайсом

979
01:43:21.710 --> 01:43:23.420
Михаил Непряхин: недавно добавили синтаксис

980
01:43:24.220 --> 01:43:25.630
Михаил Непряхин: значит и

981
01:43:26.170 --> 01:43:31.910
Михаил Непряхин: показалось мало одного двоеточие значит есть возможность Добавить еще Одна двоеточа

982
01:43:32.210 --> 01:43:34.380
Михаил Непряхин: значит чего это нахрен за такое

983
01:43:35.070 --> 01:43:39.970
Михаил Непряхин: объясняю значит смотрите какая есть Проблемка

984
01:43:40.430 --> 01:43:46.460
Михаил Непряхин: вот Мы имеем слайс из трех элементов боб элис кейт

985
01:43:46.700 --> 01:43:49.940
Михаил Непряхин: Ну тут лен три Капасити три

986
01:43:51.240 --> 01:44:05.370
Михаил Непряхин: Мы хотим! Чего Мы тут хотим! Берем с нулевого элемента включительно то есть боба по второй элемент исключительно Второй элемент У нас кейт ну, Индекс на Второй

987
01:44:06.140 --> 01:44:10.570
Михаил Непряхин: кейт Мы получается берем Боб и элис

988
01:44:11.030 --> 01:44:13.460
Михаил Непряхин: в итоге Мы имеем здесь

989
01:44:13.640 --> 01:44:15.710
Михаил Непряхин: слайс еще один

990
01:44:16.010 --> 01:44:17.070
Михаил Непряхин: копию

991
01:44:17.420 --> 01:44:22.450
Михаил Непряхин: под капотом будет указатель на тот же Изначальный массив который здесь был

992
01:44:22.990 --> 01:44:27.040
Михаил Непряхин: а но отличие в том что длина у Него будет Два

993
01:44:27.300 --> 01:44:31.560
Михаил Непряхин: потому что, у нас там будет вью вот только вот на эти первые два элемента

994
01:44:32.090 --> 01:44:33.910
Михаил Непряхин: а к опасности ты было три

995
01:44:34.440 --> 01:44:42.230
Михаил Непряхин: и вот как писал Тут ильяс То есть Мы же можем ну Там Заглянуть под капот да То есть

996
01:44:42.330 --> 01:44:43.590
Михаил Непряхин: Давайте Сша

997
01:44:47.600 --> 01:44:48.390
Михаил Непряхин: все

998
01:45:13.900 --> 01:45:15.870
Михаил Непряхин: гм антон пол

999
01:45:16.660 --> 01:45:20.240
Михаил Непряхин: ну ты я сам тут сделал да Но Давайте чтоб Не было ты ошибки

1000
01:45:20.730 --> 01:45:22.350
Михаил Непряхин: с Делом закомментировал.

1001
01:45:24.600 --> 01:45:29.650
Михаил Непряхин: Начнут смотреть У нас Ленд два Капасти два посмотрим что там

1002
01:45:31.980 --> 01:45:33.270
Михаил Непряхин: юзерс

1003
01:45:35.180 --> 01:45:37.420
Михаил Непряхин: юзерс юзерс один

1004
01:45:54.410 --> 01:45:58.810
Михаил Непряхин: как смотрим юзерс вот у нас бо полис кейт юзерс один

1005
01:45:58.990 --> 01:46:00.190
Михаил Непряхин: амбу пэлис

1006
01:46:01.060 --> 01:46:05.470
Михаил Непряхин: вот и тут значит я делаю хак грязный фак

1007
01:46:05.650 --> 01:46:10.760
Михаил Непряхин: Я Беру и говорю Что значит копайте

1008
01:46:11.240 --> 01:46:14.840
Михаил Непряхин: Я увеличиваю до трех Внезапно

1009
01:46:16.140 --> 01:46:17.240
Михаил Непряхин: Бах

1010
01:46:17.540 --> 01:46:19.770
Михаил Непряхин: и Я получаю доступ

1011
01:46:20.210 --> 01:46:21.400
Михаил Непряхин: к Этому

1012
01:46:21.620 --> 01:46:22.960
Михаил Непряхин: а элементу

1013
01:46:23.150 --> 01:46:26.590
Михаил Непряхин: который ну как бы я же ведь неспроста

1014
01:46:26.710 --> 01:46:43.270
Михаил Непряхин: Указал что я хочу ограничить Справа то есть мне кейт не нужна я хочу только боба и элиса я этим синтаксис указал но черт побери ведь Копайте там осталось емкости три а значит я могу взять и расширить

1015
01:46:43.970 --> 01:46:54.390
Михаил Непряхин: Ну слово если я сделаю Четыре конечно я тут получу что я выхожу копачить ссылайся под капотом три а я тут как бы указываю вообще на четвертый индекс

1016
01:46:54.600 --> 01:47:03.620
Михаил Непряхин: как бы и тут и Так, то третий был то есть если тут по индексам взять да отрестану да еще видите Путаница Что это же вот Индексы здесь Что то нулевой индекс

1017
01:47:03.840 --> 01:47:05.140
Михаил Непряхин: первый индекс

1018
01:47:05.610 --> 01:47:06.830
Михаил Непряхин: второй индекс

1019
01:47:07.060 --> 01:47:16.860
Михаил Непряхин: третий индекс вот я говорю значит четвертого тут, точно Нет Поэтому У Меня, ошибка вот а третий пожалуйста, Я, говорю до Третьего исключительно то есть возьми все до конца

1020
01:47:16.960 --> 01:47:28.920
Михаил Непряхин: вот типа нехорошо подумали Разработчики. Такие Давайте значит Ммм придумаем способ, как все Таки. Вот этот кпасть и тоже Сделать два если. Вдруг Человек хочет

1021
01:47:29.800 --> 01:47:35.570
Михаил Непряхин: аа и значит ничего Не придумали лучше чем добавить Еще одно, твоеточие

1022
01:47:36.430 --> 01:47:39.940
Михаил Непряхин: и значит как Это, читается значит Возьми

1023
01:47:41.040 --> 01:47:58.840
Михаил Непряхин: создай слайс юзерс два из салайса юзерс вот из-за этого изначального значит возьми Начиная с нулевого элемента индекса? С нулевого индекса? По второй индекс но второй индекс исключительно значит что возьми только первые два Элемента

1024
01:47:59.400 --> 01:48:05.740
Михаил Непряхин: и сделай Так чтобы Копассити Тоже, уменьшилась чтобы к Пасе Тоже, было два

1025
01:48:06.560 --> 01:48:09.010
Михаил Непряхин: и здесь Мы получаем

1026
01:48:09.150 --> 01:48:13.790
Михаил Непряхин: вот этот жеванный значит результат когда у нас копайте тоже два

1027
01:48:14.180 --> 01:48:19.000
Михаил Непряхин: и если, вдруг здесь мы тоже захотим сделать этот хак который до этого мы тут делали

1028
01:48:22.090 --> 01:48:23.510
Михаил Непряхин: так кризис два

1029
01:48:25.680 --> 01:48:31.140
Михаил Непряхин: Так ну вот значит вот Мы делаем тут тот же самый,

1030
01:48:31.310 --> 01:48:32.080
Михаил Непряхин: хак

1031
01:48:32.870 --> 01:48:34.920
Михаил Непряхин: вот то хотя бы

1032
01:48:35.130 --> 01:48:38.480
Михаил Непряхин: ошибка чтобы была шубы нельзя было так Сделать

1033
01:48:38.660 --> 01:48:45.080
Михаил Непряхин: сидите как бы вот мы тут в первом случае спокойненько взяли и Получили Доступ к элементу

1034
01:48:45.190 --> 01:48:53.230
Михаил Непряхин: который в массиве-то он Есть но черт побери как будто бы я Не хотел бы чтобы к нему так легко можно было получать доступ мало ли там чего

1035
01:48:53.720 --> 01:48:58.180
Михаил Непряхин: и и

1036
01:48:58.460 --> 01:49:00.570
Михаил Непряхин: этот

1037
01:49:00.860 --> 01:49:14.690
Михаил Непряхин: но вот как бы с Помощью вот этого синтаксиса Вью новое получаю и плюс все-таки я там делаю ограничение на копаассе и если, вдруг кто-то захочет вскрыть посмотреть что там было он не сможет это сделать потому что я

1038
01:49:15.100 --> 01:49:16.610
Михаил Непряхин: илен

1039
01:49:16.850 --> 01:49:18.890
Михаил Непряхин: подрезал справа

1040
01:49:19.040 --> 01:49:22.180
Михаил Непряхин: и к опасности тоже подрезал справа

1041
01:49:22.300 --> 01:49:26.240
Михаил Непряхин: да конечно я не изменю изначальный

1042
01:49:27.250 --> 01:49:29.710
Михаил Непряхин: массив который там был под капотом

1043
01:49:30.090 --> 01:49:33.870
Михаил Непряхин: и если Вдруг я здесь возьму и элис

1044
01:49:34.150 --> 01:49:36.390
Михаил Непряхин: давайте на что и тут поменяем

1045
01:49:39.780 --> 01:49:41.790
Михаил Непряхин: и и

1046
01:49:48.120 --> 01:49:49.390
Михаил Непряхин: какая Сейчас

1047
01:49:50.420 --> 01:49:53.970
Михаил Непряхин: юзерс два элис У, нас первый элемент

1048
01:49:54.430 --> 01:49:55.710
Михаил Непряхин: а равен

1049
01:49:55.890 --> 01:49:56.770
Михаил Непряхин: икс

1050
01:50:01.170 --> 01:50:03.750
Михаил Непряхин: вот и после этого

1051
01:50:04.550 --> 01:50:06.250
Михаил Непряхин: всех хочу прочитать

1052
01:50:08.360 --> 01:50:11.060
Михаил Непряхин: а юзер, связи. Раз, один юзерс два

1053
01:50:17.360 --> 01:50:19.100
Михаил Непряхин: включи я Тоже Так не могу сделать

1054
01:50:25.320 --> 01:50:32.880
Михаил Непряхин: то есть видите как бы мое Изменение оно видно во всех слайсах то есть вот у меня, юзерс есть свайс

1055
01:50:33.130 --> 01:50:43.300
Михаил Непряхин: которые ссылаются на изначальный вот этот вот массив есть узерс Один он тоже срывается изначально от массив есть узерс два он Тоже ссылается изначально из массив

1056
01:50:43.360 --> 01:50:53.650
Михаил Непряхин: и если мы делаем изменения ну вот меняем второй элемент он во всех Наших Вью Во всех Наших слайсах он Поменяется Потому что

1057
01:50:54.140 --> 01:51:03.770
Михаил Непряхин: он там один Но Тем Не менее зато хотя бы я Не Имею вот доступ к этому третьему элементу когда делаю такую подрезку

1058
01:51:04.040 --> 01:51:17.510
Михаил Непряхин: вот Мы про это больше вообще разговаривать не Будем просто вот один Раз я вот этот про это рассказываю что это есть жену лауре очень. Супер редкое явление синтези снова и вообще как бы вот просто как бы Знаете что оно такое бывает

1059
01:51:20.940 --> 01:51:29.990
Михаил Непряхин: вот Ну и здесь Еще Понятно, что с Помощью этого можно удалить элемент. Хотим? Мы допустим удалить значит чем мы берем с Помощью опента как удалить

1060
01:51:31.000 --> 01:51:36.310
Михаил Непряхин: а мы говорим возьмися сначала до первого но исключительно значит Возьми тома

1061
01:51:36.970 --> 01:51:38.520
Михаил Непряхин: и добавь к тому

1062
01:51:40.250 --> 01:51:43.520
Михаил Непряхин: начиная со второго элемента и до конца

1063
01:51:44.010 --> 01:51:47.110
Михаил Непряхин: ну и в Отеле тут получается Что Удаляется

1064
01:51:47.370 --> 01:51:50.410
Михаил Непряхин: вот ну и соответственно

1065
01:51:50.820 --> 01:51:53.410
Михаил Непряхин: первый элемент он тоже Удаляется

1066
01:51:55.870 --> 01:51:58.280
Михаил Непряхин: значит смотрите вот мы тут

1067
01:51:59.490 --> 01:52:02.880
Михаил Непряхин: от удалили получили томи кейт

1068
01:52:03.760 --> 01:52:05.520
Михаил Непряхин: ой прини сюда к перо

1069
01:52:06.800 --> 01:52:07.920
Михаил Непряхин: сюда хочу

1070
01:52:18.970 --> 01:52:20.410
Михаил Непряхин: да и

1071
01:52:21.200 --> 01:52:24.360
Михаил Непряхин: он получили томи кейт то есть удалили элемент

1072
01:52:25.370 --> 01:52:30.070
Михаил Непряхин: вот Но Если бы даже Мы Это делали

1073
01:52:31.060 --> 01:52:33.430
Михаил Непряхин: Куда, то Там в третий свайс

1074
01:52:33.930 --> 01:52:35.080
Михаил Непряхин: кто

1075
01:52:36.060 --> 01:52:37.620
Михаил Непряхин: изначальный свайс

1076
01:52:38.650 --> 01:52:40.400
Михаил Непряхин: а когда Мы смотрим

1077
01:52:40.710 --> 01:52:42.950
Михаил Непряхин: оон остался прежним

1078
01:52:43.570 --> 01:52:44.690
Михаил Непряхин: потому что,

1079
01:52:44.810 --> 01:52:45.920
Михаил Непряхин: Мы и

1080
01:52:46.630 --> 01:52:48.660
Михаил Непряхин: а взяли здесь

1081
01:52:50.020 --> 01:52:52.740
Михаил Непряхин: и создали Другой,

1082
01:52:53.400 --> 01:52:55.820
Михаил Непряхин: точнее давайте Сейчас твой стимул,

1083
01:52:58.610 --> 01:52:59.880
Михаил Непряхин: и взяла

1084
01:53:00.960 --> 01:53:02.270
Михаил Непряхин: смотрим на

1085
01:53:02.400 --> 01:53:03.620
Михаил Непряхин: юзерс

1086
01:53:04.870 --> 01:53:07.280
Михаил Непряхин: на изначальный на юзерс два

1087
01:53:11.130 --> 01:53:14.920
Михаил Непряхин: Изначальный остался аа как есть

1088
01:53:15.620 --> 01:53:20.110
Михаил Непряхин: и мы с помощью аппенда создали другой массив

1089
01:53:20.530 --> 01:53:23.110
Михаил Непряхин: в котором есть

1090
01:53:27.340 --> 01:53:29.130
Михаил Непряхин: ой Нет я туплю туплю

1091
01:53:29.530 --> 01:53:31.010
Михаил Непряхин: все Мы его Удалили

1092
01:53:32.250 --> 01:53:36.800
Михаил Непряхин: ничего Мы Не создали Это То здесь Тоже Гонко данных происходит Мы видим

1093
01:53:36.920 --> 01:53:40.600
Михаил Непряхин: ключе в этом случае Мы Тоже Получили тот же самый. Свайс

1094
01:53:40.970 --> 01:53:43.190
Михаил Непряхин: Меня тут витя.

1095
01:53:43.900 --> 01:53:52.790
Михаил Непряхин: А мотив под Капотом остался тот же тут кейт кейт если Мы на Него посмотрим Что Там То Там просто два раза кейт да

1096
01:53:53.160 --> 01:53:54.530
Михаил Непряхин: если Мы возьмем до конца

1097
01:53:54.860 --> 01:53:59.260
Михаил Непряхин: с Рэмп вот кейт кидс короче говоря

1098
01:54:01.030 --> 01:54:07.580
Михаил Непряхин: эти, все аа случаи вот они запутаны тем Что короче

1099
01:54:08.200 --> 01:54:10.500
Михаил Непряхин: нужно отличать вот где Мы Там

1100
01:54:11.230 --> 01:54:28.030
Михаил Непряхин: А изначальный массив меняем А где У нас Там произойдет провокация потому, Что апэнте. Он Еще может добавляет он может создать, локацию и они разъедутся и будут разные и

1101
01:54:28.030 --> 01:54:34.390
Михаил Непряхин: давайте. Так вопросы, Пока хотя бы то что я показывал здесь какие то Вопросы, есть

1102
01:54:35.390 --> 01:54:42.580
Михаил Непряхин: так так получается конструкция свайской первый свайс непонятно почему сразу не Создается новая с райской пости два

1103
01:54:42.900 --> 01:54:45.930
Михаил Непряхин: Так вот сделали Так сделали что,

1104
01:54:47.470 --> 01:54:51.530
Михаил Непряхин: оно Создается новые Только если переполнение Старого

1105
01:54:53.530 --> 01:54:57.510
Михаил Непряхин: если Переполнения Старого Нет То Новый Не Создается

1106
01:54:58.100 --> 01:55:01.670
Михаил Непряхин: и вот Это, вот тоже на совбезах вот этот Весь тот же случай, надо

1107
01:55:01.930 --> 01:55:03.100
Михаил Непряхин: отличать

1108
01:55:03.260 --> 01:55:17.000
Михаил Непряхин: ээ если, есть переполнение к опасности То, создастся правда новый Или они разъедутся а если Нет вот гонка данных Будем будет оба слайса иметь. Вью на Один. И тот же массив

1109
01:55:18.000 --> 01:55:26.470
Михаил Непряхин: можно прорвать разностоев наверно да опять же Не подскажу проран сейф Там вот это У Богубо У нас посмотреть лекции про нацеев я два раза уже Не помню

1110
01:55:27.240 --> 01:55:29.580
Михаил Непряхин: вибриксмена

1111
01:55:30.850 --> 01:55:31.950
Михаил Непряхин: так

1112
01:55:32.360 --> 01:55:33.560
Михаил Непряхин: Давайте давид.

1113
01:55:33.560 --> 01:55:45.010
David R: А вот тут есть уточнение, хотел бы голосом немного сказать вот пример который я Сейчас понатыкал и вот что он выдает если Мы в б присваиваем средств По слайству Там

1114
01:55:45.400 --> 01:55:53.190
David R: только один элемент он получается его выводит Там один элемент а потом можно его расширить в том же слайсе вот это вот да

1115
01:55:53.350 --> 01:55:55.980
David R: давайте работает очень

1116
01:55:56.190 --> 01:55:57.330
David R: интересно.

1117
01:55:57.490 --> 01:56:02.130
Михаил Непряхин: Так хорошо Есть У нас восемь. Элементов Да

1118
01:56:02.650 --> 01:56:09.600
Михаил Непряхин: Так Мы Что Мы Делаем значит Мы Берем с нулевого индекса? Включительно то есть мы берем с первого

1119
01:56:10.120 --> 01:56:12.580
Михаил Непряхин: по первый индекс

1120
01:56:12.800 --> 01:56:14.210
Михаил Непряхин: первый индекс вод

1121
01:56:14.360 --> 01:56:17.520
Михаил Непряхин: исключительно значит мы возьмем только единицу

1122
01:56:19.140 --> 01:56:29.780
Михаил Непряхин: мы делаем копию создаем Новый слайс это новый свадеб просто под капотом он указывает на этот же мотив смотрим Единица Окей.

1123
01:56:30.170 --> 01:56:32.880
David R: Это и.

1124
01:56:32.880 --> 01:56:44.990
Михаил Непряхин: Хорошо Берем и.

1125
01:56:45.290 --> 01:56:52.720
David R: И тут получается когда Мы берем Срез посалайсу у нас новые слайс это

1126
01:56:52.720 --> 01:57:16.970
David R: тот же самый старый слайс но с ограничением на отображение указанных элементов и.

1127
01:57:17.540 --> 01:57:18.400
Михаил Непряхин: Да да.

1128
01:57:18.400 --> 01:57:20.020
David R: Все взяли Праля.

1129
01:57:20.020 --> 01:57:27.140
Михаил Непряхин: Да верно. Но только не лучше думать, не на старый слайс а на старый массив который

1130
01:57:28.350 --> 01:57:37.240
Михаил Непряхин: да-да-да верно. То есть ну, если, бы тут фигнули ограничения вот так вот конечно мы бы тут не смогли так сделать да только то что объяснял.

1131
01:57:37.240 --> 01:57:55.870
Михаил Непряхин: Паника была бы и просто важно понимать что и.

1132
01:57:55.870 --> 01:58:13.020
David R: И тут. Вопрос когда мы берем с резы посылайсу какой это имеет, практическое значение Если мы это Если мы не делаем дополнительное копирование То это получается как Будто бы какая-то Сломанная штука которая

1133
01:58:13.020 --> 01:58:16.030
David R: с Помощью которой. Можно себе. Выстрелить в колено

1134
01:58:16.030 --> 01:58:31.400
David R: а если бы Мы отобрали бы срез по слэпсу и дополнительно делали бы копии чтобы это скопировалось полностью и отвязалось от Старого с лайся вот тогда понятно Что может быть какой то еще Смысл но вот в данном, виде Это получается Мы просто стреляем себе, в колен.

1135
01:58:32.460 --> 01:58:38.800
Михаил Непряхин: Да и По Сути это основная претензия к Гоу как гну такая самая большая что

1136
01:58:39.460 --> 01:58:52.040
Михаил Непряхин: ну вот ролик он недавно вышел То что Там сравнивают тепарасты гол, что типа власти такое невозможно а в год такое сделали посмотрите за эту фичу отвечает. Конкретно ответственность несет Конкретно

1137
01:58:52.180 --> 01:58:53.360
Михаил Непряхин: гаи

1138
01:58:53.690 --> 01:59:08.310
Михаил Непряхин: ой не гай ричи клинтон Второй это был зовушек Ни кернивин блин забыл. Имя ну кроме того три чувака было вот Это тот чувак который греб сделал который сии второй автор

1139
01:59:09.490 --> 01:59:11.560
Михаил Непряхин: и он

1140
01:59:11.790 --> 01:59:25.520
Михаил Непряхин: аа вот Ему зачем-то нравится, вот вот такая работа со слайцами То есть ему это не хватало все он жалел о том что он это не сделал все и он это привнес в

1141
01:59:26.280 --> 01:59:27.190
Михаил Непряхин: гол

1142
01:59:27.950 --> 01:59:29.390
Михаил Непряхин: и и

1143
01:59:29.630 --> 01:59:39.480
Михаил Непряхин: то есть как бы Видите очень большой френворк возможности прямо, дофига ну то есть как бы казалось бы зачем нам такое в обширное апе для вью насвайс

1144
01:59:39.790 --> 01:59:47.370
Михаил Непряхин: Ну, вот по моему опыту я это помощи, ни разу не, использовал в продакшне пом просто ни разу

1145
01:59:47.880 --> 02:00:03.920
Михаил Непряхин: и копии ни разу не используют в продакшн потому что Всегда и

1146
02:00:04.110 --> 02:00:12.740
Михаил Непряхин: Можно заюзать и использовать то ли Я чего не понимаю и как то Я не нашел. Применения тому где это можно Использовать

1147
02:00:13.270 --> 02:00:18.910
Михаил Непряхин: ну вот Раз такое Раз такая возможность У языка есть

1148
02:00:19.010 --> 02:00:21.500
Михаил Непряхин: значит ее обязательно кто то будет юзать

1149
02:00:22.350 --> 02:00:42.090
Михаил Непряхин: и совершать ошибки Потому Что чтобы до конца в Этом Разобраться и

1150
02:00:42.290 --> 02:00:48.680
Михаил Непряхин: и это просто колоссальный Простор для Выстрела в ногу и Именно Поэтому Так мучают, Этим вопросом на собесах

1151
02:00:48.900 --> 02:00:58.010
Михаил Непряхин: вот Э Поэтому Грубо, говоря просто вот один Раз более-менее надо понять как, оно Устроено и хотя бы когда вы будете читать код вы здесь Даже не будете помнить

1152
02:00:58.010 --> 02:01:09.940
Михаил Непряхин: но вы как-то грубую какую-то ошибку все равно не совершите потому Что вы понимаете да вы можете двигать эту рамку да может возникнуть гонка данных с Аппендом Там Еще есть случай. Когда все-таки Разъезжаются с вайсы.

1153
02:01:09.940 --> 02:01:23.300
Михаил Непряхин: Когда там идет, превышение То они могут разъехаться и тогда даже вы будете менять аполлон ки данных не возникнет но вот этого Все. Держать в голове помнить об этом Нафиг Это надо ну вот Это уже есть языки Это вот такой и

1154
02:01:23.580 --> 02:01:30.990
Михаил Непряхин: прикол с которым приходится мириться Она очень много вопросов к работе с лайсами и У многих. Вызывает Недоумение.

1155
02:01:31.200 --> 02:01:34.240
Михаил Непряхин: И к сожалению. Же приходится это учить и приходится знать

1156
02:01:34.850 --> 02:01:41.130
Михаил Непряхин: а если указали три параметра ноль Два Два Ну то Есть Мы говорим с нулевого

1157
02:01:41.700 --> 02:01:47.280
Михаил Непряхин: по второй Это значит Мы берем первые Два Элемента и к опасности Тоже, Режем до двух

1158
02:01:47.990 --> 02:02:12.800
Михаил Непряхин: уменьшайка Пати это уже будет Всегда новой Мысли в памяти Не-не-не Нет это не То Что Всегда будет Никогда не будет, нового. Всего в памяти вы просто смотрите же нет же проблемы подрезать предыдущий массив вот у нас оригинальный массив вот такой ну вы взяли его и сказали вот я делаю ограничения вот я хочу его вот так вот видеть наверняка в вашем случае вы говорите с нулевого

1159
02:02:12.800 --> 02:02:21.080
Михаил Непряхин: включительно по второй исключительно а вот нас второй значит Мы берем вот это вот и вот Мы получим Что У нас копаасить будет

1160
02:02:21.720 --> 02:02:39.010
Михаил Непряхин: два будет лен- два и копасть эти два и как бы Мы просто получаем дополнительную гарантию что уже никто Там за нее не выйдет то есть видение изначально дали много свободы и вот теперь совсем недавно это синдкс не завезли теперь думают как будут все-таки ограничить это чтобы люди не Так сильно стреляли в ногу

1161
02:02:39.430 --> 02:02:46.420
Михаил Непряхин: вот короче Это отвечая на вопрос никогда не будет Нового массива Это будет тот же самый массив когда мы так делаем

1162
02:02:47.420 --> 02:02:57.190
Михаил Непряхин: получается Новый массив только когда увеличем копасти да там спойлер Новый массив возникает только при аппенде то есть он может возникнуть Только при аппенде

1163
02:02:57.480 --> 02:03:04.010
Михаил Непряхин: и Только тогда когда лен равно копаете вот и

1164
02:03:04.150 --> 02:03:12.710
Михаил Непряхин: ну давайте давайте покажу давайте покажу пример а задержались, над темой Прям капец тупецкапец Важная и Сложная

1165
02:03:14.250 --> 02:03:15.010
Михаил Непряхин: У нас

1166
02:03:17.790 --> 02:03:19.960
Михаил Непряхин: значит Вот Примерчик,

1167
02:03:20.720 --> 02:03:21.680
Михаил Непряхин: берем

1168
02:03:22.580 --> 02:03:25.510
Михаил Непряхин: по Литературе создаем четыре элемента

1169
02:03:26.620 --> 02:03:35.530
Михаил Непряхин: создаем анонимную Функцию, Ну, просто это сделал для красоты чтобы не в глобальной Области видимость эту Функцию заводить значит эта функция принимает

1170
02:03:35.900 --> 02:03:37.340
Михаил Непряхин: слайс интов

1171
02:03:37.720 --> 02:03:43.170
Михаил Непряхин: и просто его Печатает берем эту Функцию Ну и печатаем собственно наши инты

1172
02:03:43.780 --> 02:03:45.430
Михаил Непряхин: дальше говорим

1173
02:03:45.540 --> 02:03:47.690
Михаил Непряхин: что нулевой элемент

1174
02:03:48.320 --> 02:03:51.330
Михаил Непряхин: а равен нулю то есть вот этот вот заменяем на ноль

1175
02:03:52.010 --> 02:03:53.270
Михаил Непряхин: и и

1176
02:03:53.880 --> 02:03:55.850
Михаил Непряхин: снова, печатаем

1177
02:03:59.030 --> 02:04:00.590
Михаил Непряхин: ну здесь короча

1178
02:04:01.440 --> 02:04:07.650
Михаил Непряхин: Идея в том что когда Мы здесь эту Функцию на ними создаем Мы вот туда слайс скопировали

1179
02:04:08.570 --> 02:04:09.750
Михаил Непряхин: и и

1180
02:04:10.890 --> 02:04:14.000
Михаил Непряхин: а ну здесь я его снова это же Не Замыкание,

1181
02:04:14.080 --> 02:04:21.320
Михаил Непряхин: вот ну проще здесь просто произойдет Изменение все нормально было да то есть смотрите как бы ну ну поменяли и поменяли карчу нету сюрприза все Окей

1182
02:04:21.360 --> 02:04:36.540
Михаил Непряхин: короче здесь Будем один два три четыре напечатали поменяли первый элемент но он стал ну. И

1183
02:04:37.600 --> 02:04:42.180
Михаил Непряхин: то смотрите какая ситуация, то Же самое только аппенди

1184
02:04:43.230 --> 02:04:46.670
Михаил Непряхин: а у нас здесь лен четыре капасти четыре

1185
02:04:51.940 --> 02:04:57.910
Михаил Непряхин: печатаем ну. Увидится один двадцать четыре Да Добавляем Один. Элемент

1186
02:04:58.010 --> 02:05:02.950
Михаил Непряхин: Но у нас лен уже равно копаете значит произойдет

1187
02:05:03.910 --> 02:05:05.500
Михаил Непряхин: реалокация

1188
02:05:05.600 --> 02:05:10.450
Михаил Непряхин: и из Предыдущего. Массива Все. Скопируется в Новый и это Был Совершенно Другой массив

1189
02:05:10.960 --> 02:05:13.840
Михаил Непряхин: и здесь Мы уже напечатаем

1190
02:05:17.780 --> 02:05:19.510
Михаил Непряхин: Один два три четыре Пять

1191
02:05:21.100 --> 02:05:21.920
Михаил Непряхин: а и

1192
02:05:23.650 --> 02:05:25.610
Михаил Непряхин: я же забыл. Что ты хотел сказать

1193
02:05:26.230 --> 02:05:29.450
Михаил Непряхин: а Блин это же я и задачу взял

1194
02:05:30.250 --> 02:05:34.500
Михаил Непряхин: Так но Сейчас. Эс это да Сейчас. С

1195
02:05:35.270 --> 02:05:37.350
Михаил Непряхин: это уже Другой, слайс

1196
02:05:39.230 --> 02:05:42.930
Михаил Непряхин: Так надо сделать войс два вот Так вот с два

1197
02:05:43.770 --> 02:05:44.850
Михаил Непряхин: печатаем

1198
02:05:47.130 --> 02:05:47.940
Михаил Непряхин: вот

1199
02:05:48.920 --> 02:05:52.440
Михаил Непряхин: теперь, теперь, Мы меняем вест два

1200
02:05:52.560 --> 02:05:54.660
Михаил Непряхин: Нулевой элемент на ноль

1201
02:05:56.110 --> 02:05:57.790
Михаил Непряхин: и опять, печатая мысль два

1202
02:05:58.050 --> 02:05:59.580
Михаил Непряхин: и печатаем нас Один

1203
02:06:01.550 --> 02:06:03.570
Михаил Непряхин: ну так ты х съесть два

1204
02:06:04.130 --> 02:06:15.820
Михаил Непряхин: и короче говоря как будто бы аа ну вот такие задачи на подвох есть как Будто бы Мы будем видеть Одно, и То же но на самом деле Нет когда вот Мы сделали аппенд они разошлись

1205
02:06:16.000 --> 02:06:19.940
Михаил Непряхин: и поэтому прежний с он не поменяется

1206
02:06:20.150 --> 02:06:23.010
Михаил Непряхин: аа вс- два вот оно занурится

1207
02:06:24.390 --> 02:06:26.650
Михаил Непряхин: смотрите прежний он не поменялся

1208
02:06:27.090 --> 02:06:29.560
Михаил Непряхин: а вот в новом он занурился

1209
02:06:30.100 --> 02:06:32.830
Михаил Непряхин: именно потому что мы сделали апент

1210
02:06:33.030 --> 02:06:36.730
Михаил Непряхин: и вот это уже теперь совершенно разные массивы

1211
02:06:36.920 --> 02:06:40.100
Михаил Непряхин: если, мы будем менять вот этот второй

1212
02:06:40.470 --> 02:06:49.800
Михаил Непряхин: ну. Все они очень разные то, Есть и вот этого слайса оно вообще абсолютно на другой массив

1213
02:06:50.420 --> 02:06:54.260
Михаил Непряхин: и вот короче вся Идея в Том что нужно от

1214
02:06:54.490 --> 02:07:00.240
Михаил Непряхин: вот потренироваться решать вот эти задачи и отличать случаи вот когда происходит

1215
02:07:01.590 --> 02:07:07.950
Михаил Непряхин: м-м гонка данных когда Мы вот смотрим на Один, и тот же массив

1216
02:07:08.080 --> 02:07:09.790
Михаил Непряхин: никогда ее не происходит

1217
02:07:10.130 --> 02:07:26.460
Михаил Непряхин: и Вот все все все задачи Нет тут построены Вот вокруг этого просто с разными вариациями тут функцию передали тут-то сделали пэн здесь Не сделали а Пэнт и вот Так вот все здесь вот такое вью посмотрели здесь Так посмотрели здесь букву подрезали

1218
02:07:26.640 --> 02:07:27.660
Михаил Непряхин: вот

1219
02:07:28.100 --> 02:07:39.950
Михаил Непряхин: но даже если вы неправильно решаете да вот это вот если вы просто вот читаете и размышляете правильно считаете Что это все равно если даже там ошибетесь немножечко ничего Страшного главное чтобы размышлять правильно

1220
02:07:42.830 --> 02:07:47.350
Михаил Непряхин: так получается новый мысли только когда увеличиваем копати

1221
02:07:47.910 --> 02:07:55.610
Михаил Непряхин: да да новые моси возникает тогда когда лен уже равен к опасности добавлять некуда а Мы делаем о пент.

1222
02:07:56.200 --> 02:07:59.970
Михаил Непряхин: Свадьба это в юности спасибо много чего объясняет да

1223
02:08:00.710 --> 02:08:02.040
Михаил Непряхин: Запомните это

1224
02:08:03.710 --> 02:08:06.310
Михаил Непряхин: а получается Ссылка Тоже Не меняется

1225
02:08:06.850 --> 02:08:08.040
Михаил Непряхин: указатель

1226
02:08:08.840 --> 02:08:12.060
Михаил Непряхин: ну. Если

1227
02:08:12.230 --> 02:08:24.700
Михаил Непряхин: ну. Сымок Нет Да Есть Указатели если Мы аппенди Мы здесь указатель поменяется это же будут разные массивы и указатели будут на разные массивы при этом случае указатель поменяется

1228
02:08:25.490 --> 02:08:28.750
Михаил Непряхин: а если лен будет не четыре в вашем примере

1229
02:08:29.570 --> 02:08:32.870
Михаил Непряхин: аа тогда все нормально Будет Давайте сделаем или Не четыре

1230
02:08:33.100 --> 02:08:36.090
Михаил Непряхин: а три да Допустим лена Не четыре а три

1231
02:08:36.540 --> 02:08:40.970
Михаил Непряхин: Мы Не Таким Образом создадим слайс а

1232
02:08:41.560 --> 02:08:44.720
Михаил Непряхин: скажем слайс вот здесь его создадим

1233
02:08:45.520 --> 02:08:49.920
Михаил Непряхин: скажем мейк слайсинтов и

1234
02:08:50.600 --> 02:08:53.220
Михаил Непряхин: лен его

1235
02:08:53.580 --> 02:08:54.520
Михаил Непряхин: три

1236
02:08:54.760 --> 02:08:56.930
Михаил Непряхин: капастити четыре

1237
02:08:58.200 --> 02:09:00.750
Михаил Непряхин: и скажем

1238
02:09:01.720 --> 02:09:02.800
Михаил Непряхин: так вот

1239
02:09:03.230 --> 02:09:04.870
Михаил Непряхин: что с равен

1240
02:09:05.020 --> 02:09:09.500
Михаил Непряхин: вот это Вот Вот Сейчас лен будет три капастики четыре

1241
02:09:10.450 --> 02:09:12.780
Михаил Непряхин: а Сейчас Мы добавим Пятый? Элемент

1242
02:09:13.460 --> 02:09:20.600
Михаил Непряхин: ну? И все не, произойдет локация это будет один и тот же элемент мы тут поменяем и тоже изменится везде такой Прогноз

1243
02:09:21.810 --> 02:09:23.300
Михаил Непряхин: Так выводим

1244
02:09:23.740 --> 02:09:29.320
Михаил Непряхин: один два Три делаем эпент добавили пятерку

1245
02:09:29.790 --> 02:09:32.110
Михаил Непряхин: выводим изначальный

1246
02:09:32.930 --> 02:09:35.640
Михаил Непряхин: а он изначально мой равен

1247
02:09:36.650 --> 02:09:39.750
Михаил Непряхин: так ну мы тут поменяли нулевой элемент

1248
02:09:39.870 --> 02:09:44.420
Михаил Непряхин: так зараза видите как бы, ээ чего то я тут не, учел,

1249
02:09:45.130 --> 02:09:46.580
Михаил Непряхин: что ты тут не учел

1250
02:09:50.340 --> 02:09:52.880
Михаил Непряхин: потому что вывилось не то что я ожидал

1251
02:09:53.100 --> 02:09:56.510
Михаил Непряхин: я же тут в нулевом занули элемент

1252
02:09:57.170 --> 02:09:59.450
Михаил Непряхин: а вывожу первый изначальный

1253
02:09:59.780 --> 02:10:01.060
Михаил Непряхин: а он и

1254
02:10:02.070 --> 02:10:03.600
Михаил Непряхин: неизменный

1255
02:10:04.330 --> 02:10:07.060
Михаил Непряхин: а этот измененный

1256
02:10:20.220 --> 02:10:22.260
Михаил Непряхин: правильно все понимаю да вот я

1257
02:10:22.920 --> 02:10:24.580
Михаил Непряхин: э здесь поменял Нулевой

1258
02:10:24.930 --> 02:10:26.490
Михаил Непряхин: м

1259
02:10:28.480 --> 02:10:29.490
Михаил Непряхин: так

1260
02:10:32.000 --> 02:10:36.500
Михаил Непряхин: ну я неправильно сделал да я тут. Просто его переопределил

1261
02:10:36.760 --> 02:10:39.810
Михаил Непряхин: Так Так Не прокатит Сейчас э

1262
02:10:41.410 --> 02:10:46.340
Михаил Непряхин: руками давайте эти добавим алименты Сейчас значит Сделаем

1263
02:10:48.010 --> 02:11:03.790
Михаил Непряхин: Нулевой индекс У нас один кажется, там просто я пересоздал его вот вот надо вот правильно вот Так вот сделать вот в этом случае все будет Окей значит здесь у нас лен будет вот в этом месте уже

1264
02:11:04.040 --> 02:11:11.540
Михаил Непряхин: лен будет три а кпасть будет четыре потому Что Мы Изначально с Четырьмя создали да Так вот

1265
02:11:12.080 --> 02:11:20.330
Михаил Непряхин: все теперь сработает теперь делаю пент Ну и все что с предсказуемым Поведением будет то Есть Мое предсказание да Сейчас вот Здесь вот ноль

1266
02:11:23.330 --> 02:11:25.060
Михаил Непряхин: М

1267
02:11:27.550 --> 02:11:29.910
Михаил Непряхин: Черт Закопт надо это делать господи

1268
02:11:32.650 --> 02:11:35.890
Михаил Непряхин: так тоже не канает потому, что там же у меня ноль час

1269
02:11:37.440 --> 02:11:38.580
Михаил Непряхин: один

1270
02:11:39.270 --> 02:11:40.210
Михаил Непряхин: Два.

1271
02:11:40.860 --> 02:11:44.610
Konstantin: Но мне можно было на троечку, оставить вместо нуля это да сработал.

1272
02:11:45.180 --> 02:11:52.070
Михаил Непряхин: Ну Там Налибыли бы а хочется, же занурить вот так. Оно сработает вот короче Ммм

1273
02:11:52.360 --> 02:11:54.770
Михаил Непряхин: просто, Если, Мы эту Рочку бы сделали

1274
02:11:55.200 --> 02:12:11.120
Михаил Непряхин: то Там бы и так нули изначально были бы Мы бы сравнения этого не увидели тогда бы здесь надо было в единицу записать Так Вот ты на выуде ну короче вы видите да суть что это Один и тот же массив в этом случае под капотом и при аппенди не произошло и

1275
02:12:12.420 --> 02:12:15.000
Михаил Непряхин: локации потому что было место,

1276
02:12:16.020 --> 02:12:17.740
Михаил Непряхин: а вот если бы не было

1277
02:12:18.300 --> 02:12:19.620
Михаил Непряхин: то и

1278
02:12:20.020 --> 02:12:22.390
Михаил Непряхин: тут, будет Единица а тут,

1279
02:12:22.510 --> 02:12:31.010
Михаил Непряхин: а тут вот Единица здесь уже останется да вот где тут ноль тут единицы короче вот Ммм вот чтобы вот с Этим разобраться,

1280
02:12:31.780 --> 02:12:35.750
Михаил Непряхин: приходится само крутить вот это вот пробуйте запускаете

1281
02:12:36.010 --> 02:12:37.410
Михаил Непряхин: и и

1282
02:12:37.930 --> 02:12:45.300
Михаил Непряхин: как бы пытаетесь понять как оно себя ведет то есть здесь только вот много много запусков, и много вот этих разных примеров

1283
02:12:45.350 --> 02:12:58.550
Михаил Непряхин: то же самое с нарезкой вот пробуйте так нарезайте пробуйте сяк нарезайте и главное проверяете лены копайте то есть э просто Всегда сомневаетесь мы грубо говоря читаете код ага. Здесь у нас лен четыре копасти четыре

1284
02:12:58.570 --> 02:13:17.540
Михаил Непряхин: потом опять, здесь смотрим а здесь какой Ленка пасти и пытаетесь прикинуть и когда решаете эти задачи тоже справа пишите комментарии в каком состоянии Сейчас. И

1285
02:13:18.190 --> 02:13:19.850
Михаил Непряхин: Так

1286
02:13:22.730 --> 02:13:28.620
Михаил Непряхин: указатель тот Же но ключительный Интернет лена ограничивается указанным на резких каб тоже остается отперузываться

1287
02:13:28.900 --> 02:13:41.680
Михаил Непряхин: так Как все плюс плюс попало иногда лучше об Этом не думали ну да-да-да типа как сиси какое-то ну единственное что конечно тут анджелина джоли не может быть потому что все-таки как бы безопасно язык, Но Вот это Вот что-то близко

1288
02:13:42.340 --> 02:13:44.180
Михаил Непряхин: так ладно короче

1289
02:13:44.870 --> 02:13:59.650
Михаил Непряхин: надеюсь Что что-то все равно У вас осталось с Этой, Лекцией и что-то вы поняли вот в следующий Раз, тут, можете еще заранее вот это вот там посмотреть и задачки эти посмотреть примерно

1290
02:14:00.390 --> 02:14:01.400
Михаил Непряхин: а

1291
02:14:01.650 --> 02:14:11.900
Михаил Непряхин: то есть как бы чтобы в следующий Раз, когда тут мы Будем про пэнту осуждать чтобы у вас что-то Уже в голове было чтобы ну на какую-то еще базу, ну что-то руками надо запускать

1292
02:14:12.360 --> 02:14:18.740
Михаил Непряхин: вот и ну все все тогда Давайте до следующего раза всем. Пока.

