Будь дома


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
70 3 21

Аноним 14/04/20 Втр 04:39:45 2177833351
image.png (45Кб, 1024x1024)
1024x1024
Кто-нибудь может мне объяснить, нахуя в JS нужна постфиксная форма i++ / i--, которая меняет значение переменной, но оставляет предыдущее?
Аноним 14/04/20 Втр 04:40:35 2177833502
Бамп
Аноним 14/04/20 Втр 04:41:14 2177833633
Бамп
14/04/20 Втр 04:41:23 2177833644
Затем.
Аноним 14/04/20 Втр 04:42:00 2177833785
Аноним 14/04/20 Втр 04:43:53 2177834156
Аноним 14/04/20 Втр 04:44:41 2177834307
>>217783335 (OP)
Студент программист си++ в тренде, поясни как понять оставляет
преведущие ? Я не шарю за этот говноязык
Аноним 14/04/20 Втр 04:45:42 2177834528
>>217783430
Да он попутал чето. i++ это то же что и i = i + 1
Аноним 14/04/20 Втр 04:46:52 2177834739
image.png (6Кб, 176x226)
176x226
Аноним 14/04/20 Втр 04:47:00 21778347710
Аноним 14/04/20 Втр 04:47:48 21778350011
>>217783430
Тред любителей анальных развлечений двумя досками ниже.
Аноним 14/04/20 Втр 04:49:03 21778352012
>>217783473
Типа зачем делать i++ и приравнивать к переменной ?
Аноним 14/04/20 Втр 04:49:12 21778352613
>>217783477
До этого момента было вкусно
Аноним 14/04/20 Втр 04:50:19 21778354314
>>217783520
Типа зачем "++" в конце ставить, если всё равно ничего не меняется
Аноним 14/04/20 Втр 04:50:32 21778354915
>>217783473
Мне лень тебе расписывать. Напряги извилины.
Аноним 14/04/20 Втр 04:51:14 21778356016
Аноним 14/04/20 Втр 04:51:47 21778357817
>>217783335 (OP)
Вот для этого

for(let x = 0; х > 1; x++) {
console.log(x--);
}

/тред
Аноним 14/04/20 Втр 04:52:17 21778359318
>>217783543
чтобы не писать
int i = 5;
int j = i;
i++;
А написать j=i++
Зависит от задачи
Аноним 14/04/20 Втр 04:54:27 21778363419
>>217783593
Так значение не меняется, посмотри на комментарии
Аноним 14/04/20 Втр 04:55:31 21778366620
>>217783634
Значение переменной над которой проходит итерация меняется
в чем проблема
Аноним 14/04/20 Втр 04:56:56 21778369721
>>217783666
Так я его приравниваю к другой переменной, и она берёт предыдущее значение первой переменной. Я не могу понять, нахуя это надо
Аноним 14/04/20 Втр 04:57:48 21778371422
Аноним 14/04/20 Втр 04:59:15 21778374223
Аноним 14/04/20 Втр 04:59:26 21778374624
>>217783714
Намёк на то, что я индус, или на то, что постфиксная форма нужна только индусам?
Аноним 14/04/20 Втр 04:59:32 21778374825
>>217783666
for(let x=0;х>1;x++?x++:x-1) {
console.log(x--?x+1:x-1);
}

Улучшил свой код
Аноним 14/04/20 Втр 05:00:47 21778377326
>>217783697
Не так. Ты присваиваешь значение одной переменной другой и ПОСЛЕ этого происходит икремент первой.

let a = 1;
let b = a++;

// a = 2, b = 1
Аноним 14/04/20 Втр 05:02:21 21778381227
>>217783748
Можешь человеческим языком объяснить, в каких случаях может использоваться только i++, а не ++i?
Аноним 14/04/20 Втр 05:03:10 21778383228
>>217783335 (OP)
Такие конструкции помогают с производительностью, постинкремент с записью выполняктся за один такт.
Аноним 14/04/20 Втр 05:03:23 21778383629
>>217783812
Если не использовать = то никакой разницы между i++ и ++i нет
Аноним 14/04/20 Втр 05:04:06 21778384930
>>217783773
Это я понимаю, но зачем?
Аноним 14/04/20 Втр 05:04:06 21778385031
Сколько нужно тупоголовых ОПов, чтобы инкрементировать i?
Аноним 14/04/20 Втр 05:04:34 21778385732
>>217783850
Правильно - чем меньше, тем лучше. Ибо они только мешают своим индусокодом)))))00
Аноним 14/04/20 Втр 05:06:16 21778390133
>>217783849
Зависит от реализации, конкретных задач, мы то откуда ебем зачем
Напиши сетевой чат на сокетах и поймёшь зачем
Аноним 14/04/20 Втр 05:07:22 21778392634
>>217783901
>Напиши сетевой чат на сокетах
Тебе надо - ты и пиши
Аноним 14/04/20 Втр 05:08:00 21778394135
Аноним 14/04/20 Втр 05:08:42 21778395536
>>217783849
Иногда это полезно для оптимизации. Например, ты пишешь что-нибудь типа

c = a++ b;

в этом случае операции a++ и a
b могут быть выполнены параллельно, а если ты пишешь.

c = ++a * 2;

то сначала нужно будет посчитать результат ++a, а потом уже умножить на 2.
Аноним 14/04/20 Втр 05:09:28 21778397437
>>217783955
>c = a++ b;
c = a++ * b;

быстрофикс.
знак умножения проебался
Аноним 14/04/20 Втр 05:15:43 21778409438
>>217783955
>>217783974
Всё равно не понял, лол.
В первом случае c выдаст не то значение, по сути результат a * b
Аноним 14/04/20 Втр 05:15:48 21778409639
Аноним 14/04/20 Втр 05:17:59 21778412740
>>217783812
Тебе надо сначала произвести действие, а потом инкремент, или после? И в любом си-подобном языке инкремент и декремент одинаково работают, не?

Нужно дохуя где, это шортхенд синтаксис. Разница в том, что:

let a = 0;
console.log(++a);
//1
console.log(a++);
//1
console.log(a);
//2

Понял?
Аноним 14/04/20 Втр 05:25:03 21778428041
>>217784127
>Тебе надо сначала произвести действие, а потом инкремент
Это. В каком случае мне это может быть надо?

>И в любом си-подобном языке инкремент и декремент одинаково работают, не?
В душе не ебу.

>let a = 0;
>console.log(++a);
>//1
>console.log(a++);
>//1
>console.log(a);
>//2
Здесь же нет разницы между префиксной и постфиксной формой, правильно? В обоих случаях к a прибавляется 1
Аноним 14/04/20 Втр 05:25:46 21778429742
>>217784280
>префиксной и постфиксной формой
префиксной и постфиксной формами
Аноним 14/04/20 Втр 05:39:49 21778458643
Бамп
Аноним 14/04/20 Втр 05:40:05 21778459244
>>217784280
Тебе не надо, а мне надо, потому что ты долбаёб ‍‍‍‍
Аноним 14/04/20 Втр 05:41:58 21778462845
Аноним 14/04/20 Втр 05:42:52 21778463846
>>217784280
Это одна программа. Подумай, почему второй косоль лог вернет 1?
>где использовать?
++i можно использовать например для вывода чисел от 1 до 100.
Еще можешь попробовать вывести элемент массива с его нормером в массиве: «элемент массива номер 1: вася». Это то что сразу на ум пришло. Это нужная хуйня, ты просто не сталкивался с неоьходимостью.
Аноним 14/04/20 Втр 05:52:43 21778485447
>>217784638
>++i можно использовать например для вывода чисел от 1 до 100.
>Еще можешь попробовать вывести элемент массива с его нормером в массиве: «элемент массива номер 1: вася».
Так я про i++ спрашивал, ++i я понимаю.

>Подумай, почему второй косоль лог вернет 1?
Потому что он плюсует 1 к a, но возвращает её старое значение, правильно?
Аноним 14/04/20 Втр 05:58:30 21778497548
>>217784854
>Так я про i++ спрашивал, ++i я понимаю
Перебор массива? Типа arr?
Аноним 14/04/20 Втр 06:08:03 21778518649
постфикс сначала вернет значение, затем инкрементирует переменную, а префикс сначала инкрементирует, а потом вернет.

let v = 0;
console.log(v++); // 0

let v = 0;
console.log(++v) // 1

Это просто возможность языка. Она, в целом, нахуй не нужна сейчас. Остается в стандарте для совместимости. Вообще переменные зачастую хуйня полная - лучше использовать константы.

const v = 0;
console.log(v); // 0
console.log(v + 1); // 1

Сразу понятно где у тебя что и в каком состоянии.
Аноним 14/04/20 Втр 06:15:38 21778531950
>>217785186
В языке есть еще другие, менее известные фичи, которые просто не используются, но тянутся уже давно.

Например, comma operator:

let x = 1;
x = (x++, x);
console.log(x); // 2

Аноним 14/04/20 Втр 06:19:56 21778540351
Сразу видно какие двачеры 300кнаносеки на самом деле.
Аноним 14/04/20 Втр 06:23:19 21778546852
.jpg (156Кб, 1000x667)
1000x667
.jpg (194Кб, 1083x717)
1083x717
.png (178Кб, 443x334)
443x334
.jpg (27Кб, 416x301)
416x301
А тебя это вообще ебет? Людям нужно, на тебя все хуй клали. С такими доебами нахуй нужен тогда перфиксная форма? Нахуй нужен for, когда можно заменить вайлом и наоборот? Ссу тебе в ротеш крч.
Аноним 14/04/20 Втр 06:24:32 21778548653
>>217783430
> c++
> не знает перфиксной и постфиксной формы инкремента/декремента
Можешь ливать со своей шараги, тебя там не учат.
Аноним 14/04/20 Втр 06:25:58 21778551154
>>217783697
Ну предыдущее значение то увеличолсь на единицу. И инкременты в основном используются в циклах.
Аноним 14/04/20 Втр 06:27:00 21778552955
>>217785186
>Вообще переменные зачастую хуйня полная - лучше использовать константы
Двачую. Состояния программы в константах храни.
Аноним 14/04/20 Втр 06:28:42 21778555556
>>217785319

Анон, помоги улучшить скрипт оператором с запятой!

for(let x=0;х>1;x++?x++:x-1) {
console.log(x--?x+1:x-1);
}
Аноним 14/04/20 Втр 06:59:05 21778605757
>>217785529
Ну и заебись, зато time-travel debugging
Аноним 14/04/20 Втр 07:04:56 21778617658
Аноним 14/04/20 Втр 07:54:09 21778716059
>>217783335 (OP)
Я выяснил, что правильное использование инкремента позволит сэкономить 7 команд.
Аноним 14/04/20 Втр 08:02:26 21778735560
>>217783335 (OP)
Z=I++ + 1сначала выполняется z=i+1, затем i=i+1
Z=++i + 1 сначала выполняется i=i+1, затем z=i+1
Аноним 14/04/20 Втр 09:04:31 21778911261
Аноним 14/04/20 Втр 09:21:26 21778965862
>>217785555
выглядит как блевотина индуса
Аноним 14/04/20 Втр 10:22:26 21779238563
>>217783832
Чел, это жаба, блядь, скрипт, какие нахуй такты и производительность? Только на разбор этой хуйни интерпретатор потратит овердохуя тактов. Ты ещё байтоёбить на жабаскрипте начни, ну, там, битовые сдвиги делать... пиздец.
Аноним 14/04/20 Втр 10:25:18 21779254364
Аноним 14/04/20 Втр 10:34:13 21779302265
>>217783335 (OP)
Не жабаскрипт, но в любом языке с C-подобным синтаксисом например что-то такое:
size_t i = 0;
while (!something.isReady()) {
int value = arr1[i++];
value += arr1[i++];
value /= arr1[i++];
value *= arr1[i++];
something.check(value);
}
Аноним 14/04/20 Втр 10:38:47 21779329066
Аноним 14/04/20 Втр 10:39:23 21779333067
>>217783549
мне так похуй, что я не могу об этом молчать, сука как же я ненавижу таких ебаных мудаков, которые зайдут в тред и отпишутся только чтобы высрать "ыыы ну ета просто подумай сам)) лол))"
Аноним 14/04/20 Втр 10:42:47 21779352568
>>217793330
Типичный препод в универе.
Аноним 14/04/20 Втр 11:52:35 21779764869
>>217783335 (OP)
Ты еблан сука
при z = x++, сначала х присвоено зет, затем х увеличено
а при z = ++x сначала х увеличится, а затем будет присовено зет
14/04/20 Втр 11:54:36 21779776570
>>217797648
Так он это и описал, еблан сука. Он спрашивает нахуй это нужно
Аноним 14/04/20 Втр 12:01:40 21779819171
>>217797765
>меняет значение переменной, но оставляет предыдущее

Ты его одногруппник с таким же однозначным iq?
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 20Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
X
Ваш шидевор X
Стикеры X
Избранное / Топ тредов