↑↑↓↓←→←→ⒷⒶ Войти !bnw Сегодня Клубы
Оказывается, в Си есть операция «запятая»: http://zhz00.diary.ru/p201515010.htm
#2ALA4A / @minoru / 3386 дней назад

век живи век учись // запятая еще - sequence point, это важно

#2ALA4A/UL7 / @ninesigns / 3386 дней назад
@4da О, про sequence point нужно загуглить, а то я название слышал, а чочо это такое не шарю.
#2ALA4A/503 / @minoru --> #2ALA4A/UL7 / 3386 дней назад

@minoru забей, в хескеле это ненужно

#2ALA4A/DW3 / @ninesigns --> #2ALA4A/503 / 3386 дней назад

ломающие новости

#2ALA4A/XTM / @hirthwork / 3386 дней назад

автор статьи мог бы просто написать что он сосёт хуи и страдает синдромом дауна

#2ALA4A/MZE / @hirthwork / 3386 дней назад
@4da Хаскель я что-то подзабил учить, а платят мне нынче и вовсе за Python (при этом я ещё и «жертва компьютерного насилия» — под Виндой кодить приходится, то есть) // пытаюсь вызвать сочувствие у тролля!
#2ALA4A/VZX / @minoru --> #2ALA4A/DW3 / 3386 дней назад
@hirthwork WAT. Я не понял связи между «боян» и вот этим твоим комментарием.
#2ALA4A/V4K / @minoru --> #2ALA4A/MZE / 3386 дней назад

@minoru генери питон из хаскеля (можешь генерить из-под линукса)

#2ALA4A/CJT / @ninesigns --> #2ALA4A/VZX / 3386 дней назад

алсо, оператор запятая — единственный бинарный оператор в плюсцах, аргументом которого может быть void: https://rsdn.ru/forum/cpp/1301668.flat#1301668

#2ALA4A/Q68 / @hirthwork / 3386 дней назад

@minoru ломающие новости про то что в си есть оператор запятая. а вот описанные ошибки недостойны примата

#2ALA4A/BEI / @hirthwork --> #2ALA4A/V4K / 3386 дней назад

@hirthwork того который шимпанзе, а не прикладной математик

#2ALA4A/X3X / @hirthwork --> #2ALA4A/BEI / 3386 дней назад
спасибо, узнал про еще один хороший юзкейс - return printf("shit happened\n"), -1 обычно юзаю в for для каких-нибудь хитрых итерирований. иногда получается вообще все тело в параметры цикла упихать, а-ля for (char *p = str, int cnt = 0; *p && cnt < MAX; p++, cnt++) ;
#2ALA4A/Q7E / @lexszero / 3386 дней назад

p++, cnt++
не префиксные инкременты
2018

#2ALA4A/Z8H / @hirthwork / 3386 дней назад
#2ALA4A/YVA / @lexszero --> #2ALA4A/Z8H / 3386 дней назад
@hirthwork Там же написано, что это ошибки, допускаемые студентами в лабах.
#2ALA4A/YOR / @minoru --> #2ALA4A/BEI / 3386 дней назад

@hirthwork сдается мне что компилер будет одинаковый код генерить в данном случаеп

#2ALA4A/5GK / @ninesigns --> #2ALA4A/Z8H / 3386 дней назад

@lexszero алсо, охуенный пример цикла, который не делает нихуя полезного, ибо время жизни всех изменяемых переменных ограничено циклом

#2ALA4A/4W3 / @hirthwork --> #2ALA4A/Q7E / 3386 дней назад

@minoru это не студенты, это амёбы

#2ALA4A/B50 / @hirthwork --> #2ALA4A/YOR / 3386 дней назад
@hirthwork мне просто было лень писать еще одну строчку с объявлениями, энивей демка же.
#2ALA4A/FFI / @lexszero --> #2ALA4A/4W3 / 3386 дней назад

@lexszero правилом хорошего тона считается писать префиксные, а не постфиксные инкременты там где разницы нет

#2ALA4A/8OW / @hirthwork --> #2ALA4A/YVA / 3386 дней назад
@hirthwork Иди придирайся к деталям где-нибудь в другом месте, а? Все равно по сути ничего полезного не говоришь.
#2ALA4A/9DB / @minoru --> #2ALA4A/4W3 / 3386 дней назад
@hirthwork впервые слышу.
#2ALA4A/39G / @lexszero --> #2ALA4A/8OW / 3386 дней назад

@hirthwork интересно, через сколько минут тебя пошлет человек, собеседуемый по C++ ?

#2ALA4A/TF1 / @ninesigns --> #2ALA4A/8OW / 3386 дней назад
@hirthwork Пришёдший-на-первый-курс-с-четырьмя-годами-опыта-программирования-на-Си-кун? Я сейчас превращусь в Комара и стану просто слать нахуй.
#2ALA4A/DEI / @minoru --> #2ALA4A/B50 / 3386 дней назад
@hirthwork > It is typical that a postfix operator will be worse on performance because you have to create another copy before doing the increment крестопроблемы какие-то. хотя один хуй соптимизируется. так что иди нахуй, пожалуй.
#2ALA4A/HKT / @lexszero --> #2ALA4A/8OW / 3386 дней назад

@lexszero в том-то и дело, что в реальном коде у тебя бы получилось менее мозголомное:

int cnt = 0;
for (char* p = str; *p && cnt < MAX; ++p) {
    ++cnt;
}

и этот код куда проще в прочтении, хотя и не увеличивает длину члена автора

#2ALA4A/ZW2 / @hirthwork --> #2ALA4A/FFI / 3386 дней назад

@minoru сасай, лалка

#2ALA4A/OS7 / @hirthwork --> #2ALA4A/9DB / 3386 дней назад

@4da да, будет. а если говно с ботинок не очищать, то оно всё равно само отвалится. и что? почему все продолжают чистить ботинки?

#2ALA4A/AZ7 / @hirthwork --> #2ALA4A/5GK / 3386 дней назад
@minoru пришел на первый курс с двумя годами программирования на си и семью на паскале.
#2ALA4A/XTB / @lexszero --> #2ALA4A/DEI / 3386 дней назад

@hirthwork кароч, если два варианта написания кода занимают одно и то же место на экране, то приятнее читать тот код, оптимизировать который компилятору придётся меньше

#2ALA4A/7SJ / @hirthwork --> #2ALA4A/AZ7 / 3386 дней назад

@minoru сорь, но чтобы превратиться в Комара, нужно сначала обладать его уровнем экспертизы

#2ALA4A/1CO / @hirthwork --> #2ALA4A/DEI / 3386 дней назад
@lexszero Испытывал ли ты презрение к тем, кто пришёл на первый курс без какого-либо опыта программирования?
#2ALA4A/ZPH / @minoru --> #2ALA4A/XTB / 3386 дней назад

@minoru нет, так что мимо, дедушка Фрейд

#2ALA4A/ETX / @hirthwork --> #2ALA4A/ZPH / 3386 дней назад
@minoru нет, мне было насрать на всех.
#2ALA4A/T9L / @lexszero --> #2ALA4A/ZPH / 3386 дней назад
@hirthwork Имхо, наоборот: не заоптимизированный вручную по самые уши код читать легче. Зачем тебе вообще оптимизирующий компилятор, если ты делаешь за него часть работы?
#2ALA4A/QCZ / @minoru --> #2ALA4A/7SJ / 3386 дней назад

@minoru 1. ты долбоёб?
2. ты пропустил «занимают одно и то же место на экране»
3. тебе сложнее прочитать ++p чем p++?

#2ALA4A/HPD / @hirthwork --> #2ALA4A/QCZ / 3386 дней назад
@hirthwork вот, кстати, пример из реальной жизни попался: ```int _do_help(cmd_tbl_t *cmd_start, int cmd_items, cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { int i, j; ... cmd_tbl_t *cmd_array[cmd_items]; /* Make array of commands from .uboot_cmd section, filtering only * allowed */ for (cmdtp = cmd_start, i = 0, j = 0; i < cmd_items; cmdtp++, i++) if (cmd_allowed(cmdtp->name)) cmd_array[j++] = cmdtp; ```
#2ALA4A/XXY / @lexszero --> #2ALA4A/ZW2 / 3386 дней назад

@hirthwork какая нахуй разница?
там с -O0 одинаковый выхлоп.

void func_post(void) {
    int i;
    for (i = 0; i < 10; i++) {
        printf ("%d\n", i);
    }
    return;
}

void func_pre(void) {
    int i;

    for (i = 0; i < 10; i++) {
        printf ("%d\n", i);
    }
    return;
}
.LC0:
    .string "%d\n"
func_post():
    push    rbp
    mov rbp, rsp
    sub rsp, 16
    mov DWORD PTR [rbp-4], 0
    jmp .L2
.L3:
    mov eax, DWORD PTR [rbp-4]
    mov esi, eax
    mov edi, OFFSET FLAT:.LC0
    mov eax, 0
    call    printf
    add DWORD PTR [rbp-4], 1
.L2:
    cmp DWORD PTR [rbp-4], 9
    jle .L3
    nop
    leave
    ret
func_pre():
    push    rbp
    mov rbp, rsp
    sub rsp, 16
    mov DWORD PTR [rbp-4], 0
    jmp .L6
.L7:
    mov eax, DWORD PTR [rbp-4]
    mov esi, eax
    mov edi, OFFSET FLAT:.LC0
    mov eax, 0
    call    printf
    add DWORD PTR [rbp-4], 1
.L6:
    cmp DWORD PTR [rbp-4], 9
    jle .L7
    nop
    leave
    ret
#2ALA4A/GHA / @ninesigns --> #2ALA4A/7SJ / 3386 дней назад
@hirthwork Я не у тебя спрашивал.
#2ALA4A/SSB / @minoru --> #2ALA4A/ETX / 3386 дней назад
@lexszero Хм. Ну, лучше уж так, чем как @hirthwork.
#2ALA4A/SQG / @minoru --> #2ALA4A/T9L / 3386 дней назад

@minoru да никакую работу ты не делаешь если напишешьвместо ++i; вместо i++; эти выражения имеют одинаковую операционную семантику.

#2ALA4A/5A8 / @ninesigns --> #2ALA4A/QCZ / 3386 дней назад
@hirthwork 1. Нет, вроде. 2. Не пропустил. Если оптимизированный и не оптимизированный варианты занимают одинаковое место и при этом после оптимизации компилятором выдают одинаковый код, то *не* оптимизированный исходник лучше, т.к. обычно оптимизации уменьшают читабельность. 3. Нет, одинаково. А мы разве об этом спорим?
#2ALA4A/P8D / @minoru --> #2ALA4A/HPD / 3386 дней назад

@lexszero я доебался не до запятых, а до точки с запятой в той же строке что и for

#2ALA4A/68S / @hirthwork --> #2ALA4A/XXY / 3386 дней назад
@hirthwork а я уже сказал, что ты зря доебался, потому что я этим примером хотел продемонстрировать использование запятой в for и только его.
#2ALA4A/EFJ / @lexszero --> #2ALA4A/68S / 3386 дней назад

@lexszero лан

#2ALA4A/J60 / @hirthwork --> #2ALA4A/EFJ / 3386 дней назад
@hirthwork пишу префиксные из уважения к дидам
#2ALA4A/55I / @mugiseyebrows --> #2ALA4A/8OW / 3386 дней назад
@4da Language.Python!
#2ALA4A/JUW / @plhk --> #2ALA4A/CJT / 3386 дней назад
Прослушал два семестра по Си и Си++, прочитал первую часть какой-то из книг Шилдта (эта часть была про Си), кручусь в программистских кругах, и при этом впервые слышу об операции «запятая». Спасибо.
#2ALA4A/EL3 / @anonymous / 3386 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.