Этого треда уже нет.
Это копия, сохраненная 24 июля 2019 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
cpplogo.png23 Кб, 360x405
C++ №89 /cpp/ 1413564 В конец треда | Веб
"C++ is a general purpose programming language designed to make programming more enjoyable for the serious programmer." B.Stroustrup

Вместо шапки - https://github.com/sosachbot/cppthreadhat/wiki
Ответы на все вопросы - http://en.cppreference.com/w/ http://www.cplusplus.com/reference/
2 1413566
Прошлый: >>1401309 (OP)
3 1413616
Я тут пью пиво и придумал тест на синьора помидора:
надо посмотреть на строку ниже 10 секунд и объяснить, что она делает.
auto _=<::>(auto&_)<%_%=_;%>;
ЗЫ для компиляции достаточно 14 стандарта.
4 1413622
>>13616
Делает компилятор ругаться.
5 1413623
>>13622
С++14 есть?
6 1413627
>>13623
Нет.
7 1413628
>>13622
А, туплю, это был ответ? Не, мой престарелый мингв спокойно ест.
8 1413631
>>13623
http://cpp.sh/8qppc
Можешь на онлайн компиляторе запустить.
9 1413634
>>13628
>>13631
Я просто хотел пошутить.
10 1413648
>>13616
Правильно, в 17 уже не скомпилируется
11 1413650
>>13616
>>13622
Делает меня ругаться. Сейчас бы спрашивать говно всякое типа альтернативного синтаксиса на собесах. Вам на работу важнее кого взять: инженера, который задачу решить может, или фокусника, который на крестах умеет кодить без [], {} на клавиатуре?
12 1413653
>>13650

>Я тут пью пиво


whysoserious.jpg
13 1413663
>>13616
Иди на хуй, ретард-фокусник. Не устаю удивляться тому, как эпоху хакеров-вирусописателей, ковыряющих ядро винды, сменило поколение ибонатов-синтаксических дрочеров. Так-то для большинства задач хватит PureBasic с ассемблерными вставками и годным оптимизирующим конпелятором. Как максимум - сишка. Все остальное - выбросы современного общества с изобилием хуйни для говноедов всех мастей.
14 1413672
>>13616

>тест на синьора помидора


Merge request denied. Reason: "Пиши код без изъёбств. Третий раз за неделю пытаешься что-то в таком духе написать, ну нахуй уже."
15 1413674
>>13672
Синтаксические обезьяны же. Уебки не знают, как виртуальный адрес транслируется в физические или что уровень привилегий это не что-то в процессоре, а свойство сегмента, но выебываются друг перед другом синтаксическими извращениями, ебучими liftM, темплейтным говном, тайпклассами (типичный любитель тайпклассов на работе осваивает новый логгер для записи в базу) и прочим. Как меня баттхертит с современной индустрии, пиздец.
16 1413676
>>13674

>Уебки не знают, как виртуальный адрес транслируется в физические


Да ладно, не настолько же всё плохо.
17 1413680
На сам деле я такую обфускацию не пишу, но рад что раззадорил тред=) Пива еще много)
18 1413687
Аноны, посоветуйте годный туториал по Makefile. Пока единственное что нашел из годного - это https://www.tutorialspoint.com/makefile/
15597326619000.png13 Кб, 933x238
19 1413716
Сейчас приложение перемещает круг при нажатии на мышку (на её же позицию). Как сделать так, чтобы оно не просто меняло локацию одного PictureBox, а создавало новый, оставляя старую точку на месте?
20 1413719
>>13716
CLI долбоёбы обитают в другом треде
21 1413726
>>13719
Где? Это же обычные вин формы на плюсах.
22 1413742
>>13726
Блядь. А сам подумать не можешь? На нажатие мыши у тебя скорее всего стоит перерисовка и рисовальщик знать не знает про твой первый круг. Поэтому храни его где-то и рисовальщику скажи, что его нужно рисовать.
23 1413746
>>13742
Я же код рядом оставил. Сейчас там просто стоит Show скрытого до этого элемента, на месте нажатия мышкой. Как хранить и как рисовать заново я не знаю, где-то есть какое-то гайды по этому поводу?
24 1413747
>>13564 (OP)
C++ умрёт? У него же нет ниши, ембедед на си, бизнес на джаве, десктоп си шарп, в остальных местах раст и го в спину дышат.
25 1413748
>>13746
Да, есть. В интернете. Не благодари.
26 1413749
>>13747
Л Е Г А С И
Е
Г
А
С
И
27 1413750
>>13748
Конкретно по этой задаче я не нашёл ничего.
28 1413811
>>13674

> Как меня баттхертит с современной индустрии, пиздец.


Это ты qt возмущался, лол?
29 1413814
>>13749
То есть я зря учу c++?
мимо 15 lvl зумер
30 1413834
>>13674
Ты просто байтоеб. В эпоху веба это все не нужно.
31 1413836
>>13747
В нише кодинга втупую кресты останутся только для легаси. В рокет саенс (не эмбед байтоебля, а computer vision, HFT или low-latency, графические движки, обработка звука/видео) может немного уступить Rust, но в целом будет цвести.
32 1413841
>>13814
Возможно. Если хочешь быть высокоплачиваемым и востребованным в C++, стоит в первую очередь учить математику и алгоритмы. Если по жизни интересует только кодинг (хотя ты еще не знаешь), стоит вкатываться в что-нибудь помоднее типа котлина.
33 1413845
>>13834

>В эпоху веба


У тебя машина тоже на вебе работает,
35 1413851
>>13841
С математикой дружу. Да и доставляет с алгоритмами дрочиться. Вернее доставляет результат. Спасибо. Надо будет обдумать.
36 1413862
>>13811
Не он, а я. Но я согласен с этим байтоебом. Алсо, нахуй кьюти, каллбэки им не нравятся, ахуеть теперь. Только неосилятор не может в каллбеки с 17 стандартом.
37 1413863
>>13834

>В эпоху веба


>2020 на носу


Скажи, что ты шутишь.
38 1413870
>>13862

>Только неосилятор не может в каллбеки с 17 стандартом.


Wut
39 1413877
Такая проблема. Пытаюсь читать stdout и stderr другого процесса используя безымянные пайпы. Этот процесс создаю из своего приложения через CreateProcess. stdout получается читать, а вот stderr - нет. Все сделал как в примере https://docs.microsoft.com/en-us/windows/desktop/ProcThread/creating-a-child-process-with-redirected-input-and-output , но stderr не читается. Кто-нибудь сталкивался с таким?
40 1413905
>>13845
Машина нужна только чтобы запускать браузер. Ты занимаешься разработкой ОС и браузерных движков? Вряд ли.
41 1413915
>>13905
Скриншот рабочего стола сделай. Уверен что там только 1-2 браузера и тонны всего остального. Какая блять веб-эпоха, дебил? Она в нулевых еще закончилась.
42 1413932
>>13836
>>13841
Короче к крестам нужна математика.
43 1413942
>>13905
Я про автомобиль, макака.
44 1414141
>>13905
Вот эта штука написана на крестах и расте, компилирующихся в webasm:
https://www.figma.com/
45 1414143
>>13862

>Только неосилятор не может в каллбеки с 17 стандартом.


Что там особенного в 17 стандарте для колбеков, чего нет в 11?
46 1414190
>>13674

>Уебки не знают, как виртуальный адрес транслируется в физические


Рассказывай, послушаем тебя.
47 1414210
помогите с книгой
48 1414225
>>13663

>как эпоху хакеров-вирусописателей, ковыряющих ядро винды, сменило поколение ибонатов-синтаксических дрочеров


"я продолжаю утверждать, что семантика языка важнее его синтаксиса"
страуструп
49 1414229
>>13663

>Не устаю удивляться тому, как эпоху хакеров-вирусописателей, ковыряющих ядро винды, сменило поколение ибонатов-синтаксических дрочеров.


чувак, сегодня черного софта, работающего на нулевом уровне (как инфраструктурные вещи, так и боевую нагрузку), пишут не меньше чем тогда, просто этот "бизнес" сильно посерьезнел - по сути, это уже кибер-оружие как бы ни пафосно звучало, пишется это спецслужбами государств либо своими силами либо частным подрядом у провереных фирм и лиц; те же кто этим занимаются, щас молчат в тряпочку, ибо светит просто снос башки за треп
"коммерческий" же блек софт, те тупо воровство у населения, лол, переместился в юзерспейс, ибо все что нужно спиздить с компа можно просто спиздить боевой нагрузкой, работающей в юзерспейсе с правами хомячка же, болеее того он пеместился еще выше, на уровень скриптовых расширений в тех же браузерах, ворде и офиса в целом, pdf-документов и прочего
и да, тк все это коммерциализировалось, то никто не спешит писать статьи и вообще хвастаться всем этим в интернетах
вот и кажется что нет движухи
50 1414231

>"коммерческий" же блек софт, те тупо воровство у населения, лол, переместился в юзерспейс, ибо все что нужно спиздить с компа можно просто спиздить боевой нагрузкой, работающей в юзерспейсе с правами хомячка же, болеее того он пеместился еще выше, на уровень скриптовых расширений в тех же браузерах


Вот, я знаю что я буду копать если не вкачусь в фронт, с детства мечтал стать хакером (:
51 1414277
помогите найти книгу
52 1414316
>>13616
Делает лямбду, которая принимает x по ссылке и заменяет на x%x.
53 1414317
А ну ка, пидорасы, вот вам тест на быдлокодера. Есть тупой спинлок ("мьютекс"). Впишите в код вместо ... порядок: acq_rel, acquire, release или relaxed. Вписанный порядок должен работать на всех архитектурах и быть максимально слабыми. Ответ без объяснения не принимается.

atomic<bool> locked {false};

lock() {
while (locked.exchange(true, ...));
}

unlock() {
locked.store(false, ...);
}
developers.png84 Кб, 650x430
54 1414388
>>14317

>exchange


Лмао. Знаешь, почему CAS-loop называется именно CAS, а не S?
55 1414427
>>13687

>Пока единственное что нашел из годного - это https://www.tutorialspoint.com/makefile/


Что там годного?
Устаревший синтаксис записи правил (которые и так неявно определены), закат солнца вручную (прописывание зависимостей от хедеров, вместо автогенерации зависимостей) и т.д.
56 1414428
57 1414431
>>14317
При локе: acquire при удачном CAS, relaxed при неудачном.
При анлоке: release.
Объяснение: acquire-release поведения требует стандарт. Почему relaxed — очевидно.
58 1414502
помогите с книгой
.jpg112 Кб, 800x600
59 1414504
60 1414528
>>14431
Это не кас, ну да ладно, правильно. Вот только почему exchange можно делать с acquire а не acq_rel -- вообще ни разу не очевидно. Жду указания на нужный абзац стандарта, который говорит, что таки можно.
61 1414529
>>14388
Поведай, чем же кас будет лучше чем эксчендж вот конкретно здесь. Про ещё один цикл с лоадом внутри для ублажения кэшей знаю, для простоты опустил.
62 1414532
>>14431
>>14528
Уточню, почему при твоей расстановке порядков будет выполняться взаимное исключение?
63 1414534
>>14528

>Вот только почему exchange можно делать с acquire а не acq_rel -- вообще ни разу не очевидно.


Вообще ни разу не очевидно почему надо начинать с acq_rel и доказывать, что одного acquire достаточно.
>>14532

>Уточню, почему при твоей расстановке порядков будет выполняться взаимное исключение?


Не понимаю, что ты хочешь услышать.
То, что успешные RMW-операции всегда читают последнее значение (в смысле modification order) атомарного объекта?
64 1414554
>>14534

>То, что успешные RMW-операции всегда читают последнее значение (в смысле modification order) атомарного объекта?



Да, именно это. Для меня до сих пор загадка, почему оно сделано
так.
65 1414583
Где можно найти source-code std::string?
66 1414585
Здравствуйте. Подскажите как мне вывести большой объем текста.
Типа
cout << "В лесу родилась ёлочка
...
14 строк
...
В лесу она росла"
?
67 1414591
>>14585
\n перенос строки.

cout << "В лесу родилась елочка.\nВ лесу она росла ... " << endl;
68 1414593
>>14583
внутри string.h
Screenshot20190610195858com.yandex.browser.jpeg52 Кб, 240x520
69 1414602
>>14591
То есть если я скопирую текст из Википедии мне его нужно где то в блокноте собрать в одну строку и потом в коде разделять через /n?
70 1414605
>>14602
Скопируй в текстовый файл, потом из файла через поток fstream можно построчно в цикле выводить getline'ом.
71 1414611
>>14554
А как иначе?
72 1414613
>>14585
Raw strings тебе в помощь
73 1414653
>>14585
Куда вывести то?
74 1414839
>>14585
const char* s1 = R"(
В лесу родилась ёлочка
...
14 строк
...
В лесу она росла
)";
и выводишь как обычно.
75 1414844
Вкатываюсь из си, какие камни?
Уровень - подпивас самоучка, кодю под себя для себя.
76 1414859
>>14844
Подводный камень один: слишком сложно, не осилишь.
77 1414879
>>14844
Денег нет в цпп. Лучше уж го.
78 1414880
>>14879
А в качестве обучения с++ пойдет? Я прошел уже половину курса
V1iO5T5MqaY.jpg84 Кб, 532x558
79 1414882
>>14839
Зачем нужно вот это конст чар? Я по урокам на Ютюбе сделал вот так.
80 1414891
>>14859

>не осилишь


Члениксы осилил и это осилю.
Screenshot20190611191341com.sololearn.jpg287 Кб, 720x1560
81 1414901
Анончики, я что то вообще не вдупляю что тут написано. Объясните пожалуйста простым языком.
82 1414902
>>14901
Может стоит пойти учить питон?
83 1414904
>>14902
Нет я не брошу занятия на половине курса
84 1414905
>>14901
Рекомендую самоучитель по C++ от Джеффа Кента, там все очень разжевано хорошо, даже я понял(вроде).
У тебя была какая-то переменная х, ты ее передал в функцию. По умолчанию копируется просто значение, а само значение х не изменится после манипуляций над ним в функции. Когда по ссылке (&) передаешь, то соответственно значение поменяется при манипуляциях внутри функции.
Ты обычно будешь пользоваться оператором return все равно, не зацикливайся пока, потом вернешься и разберешься получше.
85 1414906
>>14904
Если это на половине курса, то курс хуевый.
86 1414920
>>14905
Можешь пример набросать как это работает в программе?
87 1414922
я никто, я никто
меня нет
столько лишних знаний и все впустую
мозг - всего лишь килограмм жира и воды
Безымянный.jpg32 Кб, 258x351
88 1414928
>>14920
Я не понимаю, какие еще могут быть вопросы. Вот по значению передача, по ссылке добавь амперсанд в прототип и заголовок функции.
89 1414940
Юзает кто-нибудь VS Code?
90 1414941
>>14882
Просто создание строковой константы, мало ли куда тебе надо выдать её.
91 1414944
>>14940
Да, но вряд ли для того, что ты подразумеваешь.
Он быстро распарсевает хуево сделанные (некорректные отступы в основном) мегабайтные конфиг файлы на ксамеэле, за секунды, где нотепад++ будет пару минут скрежетать.
Для собственно кодинга не использую.
92 1414950
>>14944
Именно для этого. Вроде если допилить плагинами должно быть сносно. Нужно перекатиться из ламповой студии в кроссплатформу без моральных потерь.
93 1414955
>>14882
Тут же пробелы/табы лишние выводятся
IMG20190611215407748.jpg35 Кб, 1280x739
94 1414964
>>14928
Нихрена не понял.
Вот у меня указатель x
У него значение 100
Указатель указывает на ячейку в памяти, которая хранит значение 100.

Далее

Создаётся переменная var со значением 20
myFunc(
x) => myFunc(&var)
И как понять эту хуйню? Что сейчас произошло? Теперь функция выглядит как

myFunc(&var) - это выводит 20

Или myFunc(var) - это выводит что? Номер ячейки?

Или muFunc(
&var) - это выводит что?
95 1414967
Есть тут анон, который прямо сейчас за денежное вознаграждение поможет написать код для нескольких лаб несложных? Пишите в телегу @seregalopata
96 1414970
>>14964
Ну и ты сначала прототипировал функцию от указателя.
Потом вызвал функцию прочитав var. И получил 20.
Может все таки питон?
97 1414971
>>14970
Код в прикрепленной пикче выводит 100. Я не понимаю последовательность махинаций этого кода как это пришло к выводу 100.
98 1414972
>>14971
С какой строчки непонятно?
99 1414973
>>14971
Ты не производишь никаких действий при вызове функции указывающей на х=100.
100 1414974
>>14971
Ты передал адрес var;
Ты положил по этому адресу 100;
Ты распечатал var;
Что непонятно?
101 1414976
>>14972
Анонас не понимает указатели, не понимает что такое память на низком уровне и как она работает. Я ему предложил питон, он не хочет.
102 1414977
>>14971
Я читал Герберта Шилдта "C++ шаг за шагом". Попробуй почитать. Все детально разжевано и простым языком. про указатели на 164 странице
IMG20190611215407748.jpg35 Кб, 1280x739
103 1414984
>>14974
Теперь я ближе к пониманию, наверное.

"х" указывает на номер ячейки , где лежит значение 100.

Я адрес значения var кладу в номер ячейки?
То есть я номер ячейки (например 315) переименовал на адрес переменной (например f594g7) и теперь у меня в ячейке f594g7 лежит 100.
По этому когда я пишу cout var он выводит мне значение из ячейки f594g7 то есть 100.

Так это работает?
104 1414993
>>14901
На самом деле способ передачи всегда один.
Параметр в теле функции - это всегда копия аргумента, который передан в функцию.

Если параметр имеет ссылочный тип (указатель или ссылка), то в теле функции у тебя будет копия этого указателя/ссылки со всеми вытекающими.
105 1414995
>>14984
Типа того.
106 1414999
>>14993
Ничего не понял. Можешь написать как то что ты написал применимо к моей картинке?
107 1415000
>>14999
Не еби мозги
>>14977
изображение.png12 Кб, 386x69
108 1415003
Херня написана на твоей картинке.
Никакого выбора одного из двух способов передачи у тебя нет.
Аргументы всегда передаются одним способом - копированием.

Различие есть в том, что из себя представляет параметр функции (ссылочный или не), а не как он был передан.
109 1415004
>>14993

>Существует ... при ее вызове


Это поведение задается не при вызове функции, а при ее объявлении.
110 1415129
>>14950
Можешь еще обратить внимание на sublime. VSCode по функционалу намного ближе к легковесным текстовым редакторам вот только он нихуя не легковесный, чем к IDE.
111 1415401
Не могу разобраться с code-style. Тема тянет на холивар, но все же.
lower_case или camelСase? Венгерская нотация все? Или еще актуально? Как определиться со стилем написания кода и какой более правильный?
112 1415405
>>14901

> куча слов без примера, как это делается


Пиздец ты дерьмо читаешь.
113 1415412
>>15401
Не знаешь, используй ГНУ.
2019-06-12.png2 Кб, 125x103
114 1415417
>>14964
>>14901
Функция f не изменяет переменную, g - изменяет. Кстати, в отличии от f, ты можешь передать в g только переменную типа int.
image.png14 Кб, 316x270
115 1415432
>>15417

> отличии от f, ты можешь передать в g только переменную типа int.


Где теперь твой бох?
116 1415434
>>14993

>копия ... ссылки


Нет такого.
117 1415435
>>15417
Как в f передать переменную другого типа вместо int?
118 1415448
>>15435
Написать другую функцию с таким же именем, но другим типом аргумент это называется перегрузка функции
void f( float x );
void f( bool x );
И так далее
119 1415457
>>15448
Точно. А тут >>15432 перегрузка оператора, да?
IMG20190612201110776.jpg49 Кб, 927x1280
120 1415458
121 1415459
>>15412
Имхо он самый уебанский.

Надо смотреть, какой логичнее.
122 1415462
>>15457
В том случае написан оператор преобразования структуры к инту.
123 1415464
У строк есть префикс u8, который делает std::string с кодировкой utf8. Есть ли портативный способ вывести это дело на консоль, шобы работало на винде и на линухе? Без плясок с локалью и без смс. Вроде в виндовсе консоль по умолчанию использует utf16, поменял на utf8, шрифт поменял, пока не помогло.
И вообще, какой лучше на сегодняшний день, в c++17, способ хранить строки в human-readable формате, с поддержкой максимально большого числа символов?
124 1415467
>>15464

>шобы работало на винде


windows subsystem for linux
125 1415470
>>15464
#ifdef _WIN32
Снимок экрана 2019-06-12 в 20.48.01.png84 Кб, 1438x232
126 1415472
>>13564 (OP)
И где блять ответ на самый важный вопрос?
127 1415473
>>15472
Я думаю ответ был дан на оба вопроса вместе.
sage 128 1415484
>>13747
Не умрет. Кроме того, язык активно развивается во всех направлениях, то есть укрепляет свои позиции. Раст никогда не догонит кресты, к сожалению.
129 1415498
>>13750
Ну ты и тупой дегенерат, пиздец. Что, сложно когда нельзя просто спиздить код у другого человека? Пиздуй в справку, мразь.
130 1415512
>>15498
Мне просто нужно показать как это делается, я не знаю как создать множество объектов во время выполнения, а умею только изменять уже готовые.
131 1415519
>>15512
PictureBox^ pic = gcnew PictureBox или типа того что-то
Дальше добавляешь pic в какой-нибудь массив
132 1415589
Я тут подумал. А зачем мне ебаться с Qt, если можно приколхозить тупа C# формочки склепанные абы как за 10 минут и все будет выглядеть красиво? Зачем вообще фронтенд делать нативным?
133 1415603
>>15589
Видимо потому что можно приколхозить тупа qt формочки склепанные абы как за 10 минут .
134 1415650
Аноны, как можно посмотреть в определенной папке какие файлы там лежат и отобрать, скажем, только файлы с заданным расширением?

Есть чо в крестах для этого, желательно без сторонних библиотек?
Умею только fstream.
135 1415655
>>15650
В 17 стандарте есть std::filesystem, до 17 можешь системными вызовами.
136 1415678
Читаю страуспопа и нихуя непонятно какие-то токены, лексемы, термы все в кучу навалено с обращением к пендоской грамматике причем сразу. Есть нормальная книга где последовательно и нормально поясняют?
137 1415715
>>15655
Ага, то, что надо
138 1415771
>>15678
шо, студентик, поплакаться пришел? а нам тебя не жалко, потому что мы и себя не жалеем!
139 1415792
В книжке C++ Templates: The Complete Guide, в одной из последних глав, про Variant, есть пример:
template<typename... Types>
class Variant
: private VariantStorage<Types...>,
private VariantChoice<Types, Types...>...
{
...
using VariantChoice<Types, Types...>::VariantChoice...;
...
}
Так вот это выражение с using не компилится. Я так понял, тут мы просто объявляем конструкторы всех базовых классов VariantChoice в Variant, раскрывая Types. Однако, компилятор пишет "Types: пакет параметров должен раскрываться в этом контексте". Памагите, пожалуйста, я запутался.
140 1415812
>>15792

>Так вот это выражение с using


Ето не выражение.

>не компилится


C++17 не завезли в компилятор. Или оно не включено.
141 1415827
>>15812

>C++17 не завезли в компилятор


Не правда, у меня включен c++17. Точно помню, что подключал его, когда не компилились fold expressions. Даже перепроверял перед тем, как постить в тред. Так что дело точно не в этом.
142 1415828
>>15827
Компилятор? Версия?
143 1415834
>>15828
msvc 15.0
144 1415836
>>15834
Видимо, это баг MS-компилятора. С `VariantChoice<Types, Types...>...` в списке базовых классов у него проблем нет, кстати.

GCC и Clang нормально переносят такой using.
145 1415846
>>15836

> С `VariantChoice<Types, Types...>...` в списке базовых классов у него проблем нет, кстати.


Да, здесь глухо, ни ошибок, ни предупреждений.

> GCC и Clang нормально переносят такой using.


Что ж, спасибо, сам бы попробовал на gcc, но у меня тут, блджад, сочетание отдыха с древним ноутом с виндой и изучением шаблонов.
146 1415847
>>15846
wandbox.org
147 1415853
>>15834
Полноценная поддержка 17 стандарта у msvc появилась только в версии 19.15. Пруф: https://en.cppreference.com/w/cpp/compiler_support
Так что выкидывай нахуй свое устаревшее говно.
148 1415880
>>15847
Спасибо, можно и это заюзать иногда.
>>15853
И тебе спасибо, выкину при первой же возможности.
149 1415885
>>15853

>Полноценная поддержка 17 стандарта у msvc появилась только в версии 19.15. Пруф


Пруф не стоит выеденного яйца.
Код с pack expansion в using-declaration не компилится даже в 19.20 https://godbolt.org/z/XMAy0d
150 1415919
Объясните все-таки, что такое полиморфизм, а то какая-то путаница вокруг этого определения.
Как я понимаю - это когда виртуальные функции переопределяются в производных классах. Но где-то видел что это дескать просто "наследование", а полиморфизм это когда конкретно абстрактные классы и чисто виртуальные функции.
151 1415921
>>15919

> Объясните все-таки, что такое полиморфизм



Короче, когда один тип "мимикрирует" под другого.
Например, базовый класс "Сущность" игровая какая-нибудь, у них есть функции Update, Draw и тд.
В наследниках ты пишешь свои определения этих функций и в итоге всё работает единообразно.
152 1415928
>>15919
полиморфизм в с++ - это очень просто, в отличие от других языков, всего 3 разновидности:
есть зашитый в язык динамический полиморфизм через виртуальные функции классов
есть статический полиморфизм через шаблоны
есть так называемый ad hoc полиморфизм (не путать с функциональщиками, они в этот термин другое вкладывают) в виде перегрузки функций и функций-членов
все просто
154 1415947
>>15943
Не благодарю, я читал это, нихуя не понял. Меня интересует определение в контексте ООП под с++.
>>15928
Ну то есть обычно динамический полиморфизм подразумевают, так?
sage 155 1415955
>>15947
Там почти вся статья как раз о ООП. Ты дальше первого абзаца видимо не читал.
1389101177230.gif16 Кб, 125x125
156 1415960
>>15955

> Наследование в С++ реализуется набором ad-hoc-механизмов, однако, его использование называется в сообществе языка «полиморфизмом» (а сокрытие полей — «абстракцией»)


Ну теперь я вообще запутался.
Сокрытие полей это же ведь инкапсуляция? А ad-hoc в C++ вон выше анон тоже писал, что это перегрузка функций.
157 1416198
Так как канонично присваивать значения переменным?
i = 1,
i(1) или
i{1}?
158 1416238
>>16198
проблема в другом: кое кто не понимает разницу между присваиванием и инициализацией
159 1416240
>>15960

>Наследование в С++ реализуется набором ad-hoc-механизмов


я ж говорю, термин ad-hoc в различном контексте имеет отличающиеся коннотации
в данном случае имеется ввиду что ты в крестах явно задаешь связи наследования между классами, выстраивая тем самым иерархию классов, в других же языках механизм наследования может быть по другому сделан
160 1416405
>>13564 (OP)
>>1008826 (OP)
Здравия, изучаю C++ несколько лет, но с большими перерывами, вот недавно опять начал, для того чтобы освежить знания прошел на edx курсы: Introduction to C++, Intermediate C++ и Advanced C++. Вопрос в том что делать дальше? Понятно что можно(и наверное так и нужно бы сделать) начать изучать stl. НО! Скорее всего мне опять не хватит мотивации это сделать, потому что я не знаю где это все применять. Аноны, покидайте области в которых применяется С++ и ресурсы или книги с помощью которых их можно начать изучать.

То есть мне кажется моя проблема в том что я не знаю где в принципе применяется программирование, поэтому нет мотивации, так как не знаю куда развиваться.

P.S ХЗ куда писать этот вопрос, если написал не туда подскажите куда лучше его написать.
161 1416407
>>16405
Забыл добавить. Сейчас у меня есть идея начать изучать математику и реализовывать штуки оттуда на плюсах. Еще можно физику наверное ХЗ.
162 1416409
>>16198
Да, как уже написали разберись что такое присваивание, а что такое инициализация. Если ты именно про присваивание то 2 и 3 вариант не работают. Если про инициализация то, насколько я знаю, предпочтителен последний вариант, так как он исключает неявное привидение типов, что исключает неявные ошибки.
163 1416411
>>13564 (OP)
Есть ли готовые дебильники для отсеивания джунов или студентов на отборе?
164 1416462
>>16411
@факториал
@fizzbuzz
165 1416470
>>16409
>>16238
Да, я немного обосрался. Сначала хотел написать инициализация, но потом почему-то передумал
166 1416504
>>16411
тест на литкоде и аналогах
на западе щас оче их практикуют
167 1416522
>>16462
Если бы. Мне как-то на собеседовании на ждуна(наверное) подсовывали вопросы прям с cppquiz. Это вообще нормально?
168 1416544
>>16522
нормально
но щас делают проще: кидают тебе тест на литкоде, ты его прорешиваешь
дальше уже разговаривают по результатам
имхо, вполне годный способ
169 1416582
>>16522
Ну а что, имхо, чтобы пройти на ждуна в 2019 нужно дохера чего знать
170 1416584
>>16405

>...не знаю где это все применять


>начать изучать математику


Не еш, подумой.
Для математика самое зашкварное - это задаваться вопросами в стиле "а где это в жизни пригодится?". Это противоречит самым основам математики.

Судя по твоим вопросам, тебе лучше начать с научно-популярных книжек.
171 1416588
>>16584
Не не не. Математика мне сама по себе нравиться, я про C++.
172 1416593
>>16411
А ты сам себя к кому причисляешь?

Прост забавно как-то, если ты очуччаешь себя выше джуна или студента, но при этом не в состоянии самостоятельно сформулировать, чем ты круче их.
Безымянный.png21 Кб, 763x472
173 1416645
>>16522

>cppquiz


Спасибо за наводку. Только я что-то не понял тут подвоха у этого вопроса "повышенной сложности". Без задний мысли сначала ответил ошибка компилятора, что у него int main() ничего не возвращает(хотя это ок оказывается, всегда так было?), потом ответил "1" ну как если бы я вообще первый день читал о С++ и прокатило.
Что за триграф вообще, это какая-то управляющая последовательность?
Безымянный.png28 Кб, 768x546
174 1416661
Вот тоже интересно, я как-то сталкивался, что у меня не работала какая-то манипуляция с char массивом через указатель, но заработала через обращение с []. В чем все-таки разница между массивом и указателем?
image.png8 Кб, 684x210
175 1416673
>>16522
Какой-то ебанутый сайт. Разве здесь не 4 3 будет?
176 1416677
>>16673
3 4, не?
177 1416683
>>16673
Нет, 3 затем 4. Потому что постфиксный вариант инкремента. Сначала в функцию отправляется 3 затем i увеличивается на 1. Как вообще может получится 4, 3?? Даже при ++i будет 4 4.
178 1416697
>>16661
(*str+4) == str[4]
179 1416699
>>16683
Надеюсь такую хуйню на собесах не спрашивают. Зачем мне вообще это нужно в голове держать? У меня есть иде и дебаггер. Только не говорите, что на собеседованиях заставляют еще на листочке что-то писать без подсказок.
180 1416701
>>16699
Ты ньюфаг или просто идиот?
181 1416703
>>16701
Ты на мои вопросы ответь сначала, потом свои задавай.
182 1416706
>>16703
Ты просто какие-то слишком очевидные вопросы задаешь.
183 1416725
>>16703
Это чё троллинг тупостью? Ты боишься что тебя завалят на собеседке инфой со второй главы любого учебника по си/сипп? Если захотят тебе задать задать сложный вопрос по фишкам языка то спросят чё посложнее чем хуйню с пика. Но судя по тому что ты откуда-то аутпут 4 3 надумал, тебе ещё рано на собеседки.
184 1416794
>>16697
Да я это знаю, просто char массив хранится по-моему по разному в памяти, там как символьная константа если, он не модифицируется при передаче в функцию.
У меня было что-то вроде
char a="hello";
foo(a);функция что-то делала с массивом, меняла регистр по-моему
И был access violation.
А вот когда char[6]="hello";
Все работало.
Ну и ответ примера, typeid(int
)==typeid(int[]) возвращает ложь в ответе, это не совсем одно и то же.
185 1416795
>>16794
Ну ты понял где указатели, судя по курсиву.
186 1416802
>>16794
Одинаково они хранятся. char *a = "hello"; - это указатель на символьную константу и попытка ее изменения - UB. А char a[6] "hello"; - это массив с копией символьной константы и его ты можешь менять сколько хочешь.
187 1416806
>>16802
Ну я же говорю, не одинаково же. В описании к тому вопросу на ccpquiz написано, что массив преобразуется к указателю все равно для компилятора.
UB потому что размер не задан четко в случае *a?
188 1416867
>>16725
>>16706
Это вы толстите видимо. Такие вопросы задавать, это тоже самое если тебя сейчас спросить какую-нибудь хитровыебанную хуйню из программы матана 6 класса, которой вы посветили пару уроков. Ответишь правильно? Сомневаюсь. Такие вопросы никак не отражают действительности о знании предмета. Из таких контор надо бежать.
189 1416874
>>16867

> программы матана 6 класса


Это где в 6-м классе проходят матанализ?

> Такие вопросы никак не отражают действительности о знании предмета.


Да. Такие вопросы проверяют элементарную вменяемость.
Если ты проваливаешь такой тест, то о знании предмета спрашивать смысла нет.
190 1416881
>>16699

> заставляют еще на листочке что-то писать без подсказок


Конечно, а потом обмазываются своими инструментами для программированию и рассказываю как всё охуенно.
191 1416905
>>16867
Ты, кажется, не понимаешь, что это - основы и эти основы надо знать. Скажи ещё, лол, что "зачем мне уметь считать, есть же калькулятор".

А вообще, с там подходом, пиздуй-ка ты во фронтенд.
192 1416909
Почаны, не бейте, лучше обоссыте.
Поясните, плиз, за file system в с++. create_directories, если ему передать путь типа "\1\4\8\8", создает папки в корне (например "С:\1\4\8\8"). Если создать файл ofstream'ом, передав open'у неполный путь, файл будет в папке проекта. Почему fs remove, которому передали неполный путь, находит то, что создавалось ofstream'ом? Я не понимаю, почему у меня работает то, что работать не должно.
193 1416910
>>16874
>>16881
>>16905
Какие же вы унылые задроты, просто пиздец. Какая нахуй вменяемость? Это задание само по себе неадекватное.

Покромил тролей.
194 1416929
>>16909
в js треде тебя сначала выебут, а потом обоссут
у крестопетухов сначала обоссут, потом - выебут
195 1416934
>>16929
У меня по жизни такое с разными вариациями я селедка
>>16909
Бамп вопросу.
196 1416936
>>16909
Потому что так работают системные вызовы в операционной системе - если ты передал неполный путь, то путь будет считаться относительно текущей директории приложения. Текущую директорию можно поменять через chdir/std::filesystem::current_path
197 1416945
>>16929
так не бывает
дам в крестотреде не было и не будет
198 1416948
Поменял название папки, в которой лежит проект. Везде, где мог поменял название, но не могу избавиться от ошибки "QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly" и еще дюжины из нее вытекающих. Где лежит конфигурационный файл этой залупы?
199 1416952
>>16948
Спиздил лабы у кого-то? У него и спрашивай.
200 1416958
>>16936
Текущая директория — это понятно. Непонятно вот что:

Проверяю current_path — все как ожидалось, путь до папки с исходниками проекта.
fs::create_directories(неполный_путь) создает папки в C:\
fs::remove_all(первая_папка_неполного_пути) находит их там и удаляет.

Через ofstream создаю файл, передав open(), опять же, неполный путь.
Файл лежит в рядом с исходниками.
fs::remove(неполный_путь_к_файлу) находит его и там и удаляет.
201 1416960
>>16952
Нет. Проект лежит в папке пользователя. Полтзователь на русском. Из-за этого возникала другая ошибка. Переименовал на английский. Теперь вот что
202 1416961
>>16958
Может это в ide так реализовано?
203 1416963
>>16958
Странно, кстати - обещают, что create_directory вызывает mkdir, а тот должен нормально работать с относительными путями.
Ты чем компилишь? Может, это играет роль.
Но я не уверен, поскольку я везде в своем проекте при использовании filesystem писал через current_path, т.е. абсолютными путями пользовался, можешь делать так же - только храни путь не в string, а в path, чтобы правильно слеши разруливались.
204 1416971
>>16958
Код в студию.
205 1416977
>>16961
>>16963
Я юзаю VS на винде.

>писал через current_path, т.е. абсолютными путями пользовался, можешь делать так же - только храни путь не в string, а в path, чтобы правильно слеши разруливались


Так и сделаю, потому что странно все это.
>>16971
да, это говно, я же сельдь
2.JPG24 Кб, 401x205
206 1416980
>>16977
Блядь, не тот 2 скрин
Если убрать акробатику вокруг current_path и передавать просто стринг с относительным путем, то пишет в C:\
207 1416983
>>16958

>fs::create_directories(неполный_путь) создает папки в C:\


"\1\4\8\8" это полный путь, т.к. начинается с root directory.
208 1416986
>>16983
>>16980
Да, кстати. Попробуй без первого слеша скормить ему путь.
209 1416988
>>16980
И да, у filesystem::path есть метод exists, чтобы проверить, есть ли такая директория или нет.
210 1416992
Мда. Нет среди вас годных прогеров
211 1416995
>>16992
Хорошие прогеры разбежались на нормальные зарплаты в современные языки и технологии. Остались только свитерки, пишущие процедурную лапшу за гроши.
212 1417016
>>16992
нихуя
я есть
у меня сантиметровые очки-лупы и я прочитал больше 10 книг по крестам
поднялся так сказать над вами, червяками
213 1417018
>>17016
Тогда разреши эту проблему)))))))))
>>16948
214 1417024
>>17018
Пришло время переустанавливать шиндовс. У тебя система по пизде пошла. Тебе вместо переименовая нужно было просто перенести папку прокта в другую. Возможно получится обойтись только переустановкой Qt, но я бы рекомендовал ресет всей системы.
215 1417042
Стоит ли использовать std::string_view вместо std::string как член класса или структуры?
216 1417046
>>17042
А ты вообще читал, на кой хер это ввели в стандарт?
string_view - замена const string& в аргументах функции, да ещё и без нулевого символа.
217 1417051
>>17024

>переустанавливать шиндовс


Еще рекомендовал бы сменить сам компьютер, страну проживания и пол.
218 1417105
>>16462

>@fizzbuzz


( ⚆ ʖ ⚆), [08.03.19 22:26]
a1 = 1
if a1 % 15 == 0:
print('FizzBuzz')
elif a1 % 5 == 0:
print('Buzz')
elif a1 % 3 == 0:
print('Fizz')
else:
print('1')
a2 = 2
if a2 % 15 == 0:
print('FizzBuzz')
elif a2 % 5 == 0:
print('Buzz')
elif a2 % 3 == 0:
print('Fizz')
else:
print('2')
a3 = 3
if a3 % 15 == 0:
print('FizzBuzz')
elif a3 % 5 == 0:
print('Buzz')
elif a3 % 3 == 0:
print('Fizz')
else:
print('3')
a4 = 4
if a4 % 15 == 0:
print('FizzBuzz')
elif a4 % 5 == 0:
print('Buzz')
elif a4 % 3 == 0:
print('Fizz')
else:
print('4')
a5 = 5
if a5 % 15 == 0:
print('FizzBuzz')
elif a5 % 5 == 0:
print('Buzz')
elif a5 % 3 == 0:
print('Fizz')
else:
print('5')
a6 = 6
if a6 % 15 == 0:
print('FizzBuzz')
elif a6 % 5 == 0:
print('Buzz')
elif a6 % 3 == 0:
print('Fizz')
else:
print('6')
a7 = 7
if a7 % 15 == 0:
print('FizzBuzz')
elif a7 % 5 == 0:
print('Buzz')
elif a7 % 3 == 0:
print('Fizz')
else:
print('7')
a8 = 8
if a8 % 15 == 0:
print('FizzBuzz')
elif a8 % 5 == 0:
print('Buzz')
elif a8 % 3 == 0:
print('Fizz')
else:
print('8')
a9 = 9
if a9 % 15 == 0:
print('FizzBuzz')
elif a9 % 5 == 0:
print('Buzz')
elif a9 % 3 == 0:
print('Fizz')
else:
print('9')
a10 = 10
if a10 % 15 == 0:
print('FizzBuzz')
elif a10 % 5 == 0:
print('Buzz')
elif a10 % 3 == 0:
print('Fizz')
else:
print('10')
a11 = 11
if a11 % 15 == 0:
print('FizzBuzz')
elif a11 % 5 == 0:
print('Buzz')
elif a11 % 3 == 0:
print('Fizz')
else:
print('11')
a12 = 12
if a12 % 15 == 0:
print('FizzBuzz')
elif a12 % 5 == 0:
print('Buzz')
elif a12 % 3 == 0:
print('Fizz')
else:
print('12')
a13 = 13
if a13 % 15 == 0:
print('FizzBuzz')
elif a13 % 5 == 0:
print('Buzz')
elif a13 % 3 == 0:
print('Fizz')
else:
print('13')
a14 = 14
if a14 % 15 == 0:
print('FizzBuzz')
elif a14 % 5 == 0:
print('Buzz')
elif a14 % 3 == 0:
print('Fizz')
else:
print('14')
a15 = 15
if a15 % 15 == 0:
print('FizzBuzz')
elif a15 % 5 == 0:
print('Buzz')
elif a15 % 3 == 0:
print('Fizz')
else:
print('15')
a16 = 16
if a16 % 15 == 0:
print('FizzBuzz')
elif a16 % 5 == 0:
print('Buzz')
elif a16 % 3 == 0:
print('Fizz')
else:
print('16')
a17 = 17
if a17 % 15 == 0:
print('FizzBuzz')
elif a17 % 5 == 0:
print('Buzz')
elif a17 % 3 == 0:
print('Fizz')
else:
print('17')
a18 = 18
if a18 % 15 == 0:
print('FizzBuzz')
elif a18 % 5 == 0:
print('Buzz')
elif a18 % 3 == 0:
print('Fizz')
else:
print('18')
a19 = 19
if a19 % 15 == 0:
print('FizzBuzz')
elif a19 % 5 == 0:
print('Buzz')
elif a19 % 3 == 0:
print('Fizz')
else:
print('19')
a20 = 20
if a20 % 15 == 0:
print('FizzBuzz')
elif a20 % 5 == 0:
print('Buzz')
elif a20 % 3 == 0:
print('Fizz')
else:
print('20')
a21 = 21
if a21 % 15 == 0:
print('FizzBuzz')
elif a21 % 5 == 0:
print('Buzz')
elif a21 % 3 == 0:
print('Fizz')
else:
print('21')
a22 = 22
if a22 % 15 == 0:
print('FizzBuzz')
elif a22 % 5 == 0:
print('Buzz')
elif a22 % 3 == 0:
print('Fizz')
else:
print('22')
a23 = 23
if a23 % 15 == 0:
print('FizzBuzz')
elif a23 % 5 == 0:
print('Buzz')
elif a23 % 3 == 0:
print('Fizz')
else:
print('23')
a24 = 24
if a24 % 15 == 0:
print('FizzBuzz')
elif a24 % 5 == 0:
print('Buzz')
elif a24 % 3 == 0:
print('Fizz')
else:
print('24')
a25 = 25
if a25 % 15 == 0:
print('FizzBuzz')
elif a25 % 5 == 0:
print('Buzz')
elif a25 % 3 == 0:
print('Fizz')
else:
print('25')
a26 = 26
if a26 % 15 == 0:
print('FizzBuzz')
elif a26 % 5 == 0:
print('Buzz')
elif a26 % 3 == 0:
print('Fizz')
else:
print('26')
a27 = 27
if a27 % 15 == 0:
print('FizzBuzz')
elif a27 % 5 == 0:
print('Buzz')
elif a27 % 3 == 0:
print('Fizz')
else:
print('27')
a28 = 28
if a28 % 15 == 0:
print('FizzBuzz')
elif a28 % 5 == 0:
print('Buzz')
elif a28 % 3 == 0:
print('Fizz')
else:
print('28')
a29 = 29
if a29 % 15 == 0:
print('FizzBuzz')
elif a29 % 5 == 0:
print('Buzz')
elif a29 % 3 == 0:
print('Fizz')
else:
print('29')
a30 = 30
if a30 % 15 == 0:
print('FizzBuzz')
elif a30 % 5 == 0:
print('Buzz')
elif a30 % 3 == 0:
print('Fizz')
else:
print('30')
a31 = 31
if a31 % 15 == 0:
print('FizzBuzz')
elif a31 % 5 == 0:
print('Buzz')
elif a31 % 3 == 0:
print('Fizz')
else:
print('31')
a32 = 32
if a32 % 15 == 0:
print('FizzBuzz')
elif a32 % 5 == 0:
print('Buzz')
elif a32 % 3 == 0:
print('Fizz')
else:
print('32')
a33 = 33
if a33 % 15 =

( ⚆ ʖ ⚆), [08.03.19 22:26]
= 0:
print('FizzBuzz')
elif a33 % 5 == 0:
print('Buzz')
elif a33 % 3 == 0:
print('Fizz')
else:
print('33')
a34 = 34
if a34 % 15 == 0:
print('FizzBuzz')
elif a34 % 5 == 0:
print('Buzz')
elif a34 % 3 == 0:
print('Fizz')
else:
print('34')
a35 = 35
if a35 % 15 == 0:
print('FizzBuzz')
elif a35 % 5 == 0:
print('Buzz')
elif a35 % 3 == 0:
print('Fizz')
else:
print('35')
a36 = 36
if a36 % 15 == 0:
print('FizzBuzz')
elif a36 % 5 == 0:
print('Buzz')
elif a36 % 3 == 0:
print('Fizz')
else:
print('36')
a37 = 37
if a37 % 15 == 0:
print('FizzBuzz')
elif a37 % 5 == 0:
print('Buzz')
elif a37 % 3 == 0:
print('Fizz')
else:
print('37')
a38 = 38
if a38 % 15 == 0:
print('FizzBuzz')
elif a38 % 5 == 0:
print('Buzz')
elif a38 % 3 == 0:
print('Fizz')
else:
print('38')
a39 = 39
if a39 % 15 == 0:
print('FizzBuzz')
elif a39 % 5 == 0:
print('Buzz')
elif a39 % 3 == 0:
print('Fizz')
else:
print('39')
a40 = 40
if a40 % 15 == 0:
print('FizzBuzz')
elif a40 % 5 == 0:
print('Buzz')
elif a40 % 3 == 0:
print('Fizz')
else:
print('40')
a41 = 41
if a41 % 15 == 0:
print('FizzBuzz')
elif a41 % 5 == 0:
print('Buzz')
elif a41 % 3 == 0:
print('Fizz')
else:
print('41')
a42 = 42
if a42 % 15 == 0:
print('FizzBuzz')
elif a42 % 5 == 0:
print('Buzz')
elif a42 % 3 == 0:
print('Fizz')
else:
print('42')
a43 = 43
if a43 % 15 == 0:
print('FizzBuzz')
elif a43 % 5 == 0:
print('Buzz')
elif a43 % 3 == 0:
print('Fizz')
else:
print('43')
a44 = 44
if a44 % 15 == 0:
print('FizzBuzz')
elif a44 % 5 == 0:
print('Buzz')
elif a44 % 3 == 0:
print('Fizz')
else:
print('44')
a45 = 45
if a45 % 15 == 0:
print('FizzBuzz')
elif a45 % 5 == 0:
print('Buzz')
elif a45 % 3 == 0:
print('Fizz')
else:
print('45')
a46 = 46
if a46 % 15 == 0:
print('FizzBuzz')
elif a46 % 5 == 0:
print('Buzz')
elif a46 % 3 == 0:
print('Fizz')
else:
print('46')
a47 = 47
if a47 % 15 == 0:
print('FizzBuzz')
elif a47 % 5 == 0:
print('Buzz')
elif a47 % 3 == 0:
print('Fizz')
else:
print('47')
a48 = 48
if a48 % 15 == 0:
print('FizzBuzz')
elif a48 % 5 == 0:
print('Buzz')
elif a48 % 3 == 0:
print('Fizz')
else:
print('48')
a49 = 49
if a49 % 15 == 0:
print('FizzBuzz')
elif a49 % 5 == 0:
print('Buzz')
elif a49 % 3 == 0:
print('Fizz')
else:
print('49')
a50 = 50
if a50 % 15 == 0:
print('FizzBuzz')
elif a50 % 5 == 0:
print('Buzz')
elif a50 % 3 == 0:
print('Fizz')
else:
print('50')
a51 = 51
if a51 % 15 == 0:
print('FizzBuzz')
elif a51 % 5 == 0:
print('Buzz')
elif a51 % 3 == 0:
print('Fizz')
else:
print('51')
a52 = 52
if a52 % 15 == 0:
print('FizzBuzz')
elif a52 % 5 == 0:
print('Buzz')
elif a52 % 3 == 0:
print('Fizz')
else:
print('52')
a53 = 53
if a53 % 15 == 0:
print('FizzBuzz')
elif a53 % 5 == 0:
print('Buzz')
elif a53 % 3 == 0:
print('Fizz')
else:
print('53')
a54 = 54
if a54 % 15 == 0:
print('FizzBuzz')
elif a54 % 5 == 0:
print('Buzz')
elif a54 % 3 == 0:
print('Fizz')
else:
print('54')
a55 = 55
if a55 % 15 == 0:
print('FizzBuzz')
elif a55 % 5 == 0:
print('Buzz')
elif a55 % 3 == 0:
print('Fizz')
else:
print('55')
a56 = 56
if a56 % 15 == 0:
print('FizzBuzz')
elif a56 % 5 == 0:
print('Buzz')
elif a56 % 3 == 0:
print('Fizz')
else:
print('56')
a57 = 57
if a57 % 15 == 0:
print('FizzBuzz')
elif a57 % 5 == 0:
print('Buzz')
elif a57 % 3 == 0:
print('Fizz')
else:
print('57')
a58 = 58
if a58 % 15 == 0:
print('FizzBuzz')
elif a58 % 5 == 0:
print('Buzz')
elif a58 % 3 == 0:
print('Fizz')
else:
print('58')
a59 = 59
if a59 % 15 == 0:
print('FizzBuzz')
elif a59 % 5 == 0:
print('Buzz')
elif a59 % 3 == 0:
print('Fizz')
else:
print('59')
a60 = 60
if a60 % 15 == 0:
print('FizzBuzz')
elif a60 % 5 == 0:
print('Buzz')
elif a60 % 3 == 0:
print('Fizz')
else:
print('60')
a61 = 61
if a61 % 15 == 0:
print('FizzBuzz')
elif a61 % 5 == 0:
print('Buzz')
elif a61 % 3 == 0:
print('Fizz')
else:
print('61')
a62 = 62
if a62 % 15 == 0:
print('FizzBuzz')
elif a62 % 5 == 0:
print('Buzz')
elif a62 % 3 == 0:
print('Fizz')
else:
print('62')
a63 = 63
if a63 % 15 == 0:
print('FizzBuzz')
elif a63 % 5 == 0:
print('Buzz')
elif a63 % 3 == 0:
print('Fizz')
else:
print('63')
a64 = 64
if a64 % 15 == 0:
print('FizzBuzz')
elif a64 % 5 == 0:
print('Buzz')
elif a64 % 3 == 0:
print('Fizz')
else:
pr

( ⚆ ʖ ⚆), [08.03.19 22:26]
int('64')
a65 = 65
if a65 % 15 == 0:
print('FizzBuzz')
elif a65 % 5 == 0:
print('Buzz')
elif a65 % 3 == 0:
print('Fizz')
else:
print('65')
a66 = 66
if a66 % 15 == 0:
print('FizzBuzz')
elif a66 % 5 == 0:
print('Buzz')
elif a66 % 3 == 0:
print('Fizz')
else:
print('66')
a67 = 67
if a67 % 15 == 0:
print('FizzBuzz')
elif a67 % 5 == 0:
print('Buzz')
elif a67 % 3 == 0:
print('Fizz')
else:
print('67')
a68 = 68
if a68 % 15 == 0:
print('FizzBuzz')
elif a68 % 5 == 0:
print('Buzz')
elif a68 % 3 == 0:
print('Fizz')
else:
print('68')
a69 = 69
if a69 % 15 == 0:
print('FizzBuzz')
elif a69 % 5 == 0:
print('Buzz')
elif a69 % 3 == 0:
print('Fizz')
else:
print('69')
a70 = 70
if a70 % 15 == 0:
print('FizzBuzz')
elif a70 % 5 == 0:
print('Buzz')
elif a70 % 3 == 0:
print('Fizz')
else:
print('70')
a71 = 71
if a71 % 15 == 0:
print('FizzBuzz')
elif a71 % 5 == 0:
print('Buzz')
elif a71 % 3 == 0:
print('Fizz')
else:
print('71')
a72 = 72
if a72 % 15 == 0:
print('FizzBuzz')
elif a72 % 5 == 0:
print('Buzz')
elif a72 % 3 == 0:
print('Fizz')
else:
print('72')
a73 = 73
if a73 % 15 == 0:
print('FizzBuzz')
elif a73 % 5 == 0:
print('Buzz')
elif a73 % 3 == 0:
print('Fizz')
else:
print('73')
a74 = 74
if a74 % 15 == 0:
print('FizzBuzz')
elif a74 % 5 == 0:
print('Buzz')
elif a74 % 3 == 0:
print('Fizz')
else:
print('74')
a75 = 75
if a75 % 15 == 0:
print('FizzBuzz')
elif a75 % 5 == 0:
print('Buzz')
elif a75 % 3 == 0:
print('Fizz')
else:
print('75')
a76 = 76
if a76 % 15 == 0:
print('FizzBuzz')
elif a76 % 5 == 0:
print('Buzz')
elif a76 % 3 == 0:
print('Fizz')
else:
print('76')
a77 = 77
if a77 % 15 == 0:
print('FizzBuzz')
elif a77 % 5 == 0:
print('Buzz')
elif a77 % 3 == 0:
print('Fizz')
else:
print('77')
a78 = 78
if a78 % 15 == 0:
print('FizzBuzz')
elif a78 % 5 == 0:
print('Buzz')
elif a78 % 3 == 0:
print('Fizz')
else:
print('78')
a79 = 79
if a79 % 15 == 0:
print('FizzBuzz')
elif a79 % 5 == 0:
print('Buzz')
elif a79 % 3 == 0:
print('Fizz')
else:
print('79')
a80 = 80
if a80 % 15 == 0:
print('FizzBuzz')
elif a80 % 5 == 0:
print('Buzz')
elif a80 % 3 == 0:
print('Fizz')
else:
print('80')
a81 = 81
if a81 % 15 == 0:
print('FizzBuzz')
elif a81 % 5 == 0:
print('Buzz')
elif a81 % 3 == 0:
print('Fizz')
else:
print('81')
a82 = 82
if a82 % 15 == 0:
print('FizzBuzz')
elif a82 % 5 == 0:
print('Buzz')
elif a82 % 3 == 0:
print('Fizz')
else:
print('82')
a83 = 83
if a83 % 15 == 0:
print('FizzBuzz')
elif a83 % 5 == 0:
print('Buzz')
elif a83 % 3 == 0:
print('Fizz')
else:
print('83')
a84 = 84
if a84 % 15 == 0:
print('FizzBuzz')
elif a84 % 5 == 0:
print('Buzz')
elif a84 % 3 == 0:
print('Fizz')
else:
print('84')
a85 = 85
if a85 % 15 == 0:
print('FizzBuzz')
elif a85 % 5 == 0:
print('Buzz')
elif a85 % 3 == 0:
print('Fizz')
else:
print('85')
a86 = 86
if a86 % 15 == 0:
print('FizzBuzz')
elif a86 % 5 == 0:
print('Buzz')
elif a86 % 3 == 0:
print('Fizz')
else:
print('86')
a87 = 87
if a87 % 15 == 0:
print('FizzBuzz')
elif a87 % 5 == 0:
print('Buzz')
elif a87 % 3 == 0:
print('Fizz')
else:
print('87')
a88 = 88
if a88 % 15 == 0:
print('FizzBuzz')
elif a88 % 5 == 0:
print('Buzz')
elif a88 % 3 == 0:
print('Fizz')
else:
print('88')
a89 = 89
if a89 % 15 == 0:
print('FizzBuzz')
elif a89 % 5 == 0:
print('Buzz')
elif a89 % 3 == 0:
print('Fizz')
else:
print('89')
a90 = 90
if a90 % 15 == 0:
print('FizzBuzz')
elif a90 % 5 == 0:
print('Buzz')
elif a90 % 3 == 0:
print('Fizz')
else:
print('90')
a91 = 91
if a91 % 15 == 0:
print('FizzBuzz')
elif a91 % 5 == 0:
print('Buzz')
elif a91 % 3 == 0:
print('Fizz')
else:
print('91')
a92 = 92
if a92 % 15 == 0:
print('FizzBuzz')
elif a92 % 5 == 0:
print('Buzz')
elif a92 % 3 == 0:
print('Fizz')
else:
print('92')
a93 = 93
if a93 % 15 == 0:
print('FizzBuzz')
elif a93 % 5 == 0:
print('Buzz')
elif a93 % 3 == 0:
print('Fizz')
else:
print('93')
a94 = 94
if a94 % 15 == 0:
print('FizzBuzz')
elif a94 % 5 == 0:
print('Buzz')
elif a94 % 3 == 0:
print('Fizz')
else:
print('94')
a95 = 95
if a95 % 15 == 0:
print('FizzBuzz')
elif a95 % 5 == 0:
print('Buzz')
elif a95 % 3 == 0:
print('Fizz')
else:
print('95')
a96 = 96
if a96 % 15 == 0:
print('FizzBuzz')
elif a96 % 5 == 0:
print('Buzz')
elif a96

( ⚆ ʖ ⚆), [08.03.19 22:26]
% 3 == 0:
print('Fizz')
else:
print('96')
a97 = 97
if a97 % 15 == 0:
print('FizzBuzz')
elif a97 % 5 == 0:
print('Buzz')
elif a97 % 3 == 0:
print('Fizz')
else:
print('97')
a98 = 98
if a98 % 15 == 0:
print('FizzBuzz')
elif a98 % 5 == 0:
print('Buzz')
elif a98 % 3 == 0:
print('Fizz')
else:
print('98')
a99 = 99
if a99 % 15 == 0:
print('FizzBuzz')
elif a99 % 5 == 0:
print('Buzz')
elif a99 % 3 == 0:
print('Fizz')
else:
print('99')
a100 = 100
if a100 % 15 == 0:
print('FizzBuzz')
elif a100 % 5 == 0:
print('Buzz')
elif a100 % 3 == 0:
print('Fizz')
else:
print('100')
Я принят?
218 1417105
>>16462

>@fizzbuzz


( ⚆ ʖ ⚆), [08.03.19 22:26]
a1 = 1
if a1 % 15 == 0:
print('FizzBuzz')
elif a1 % 5 == 0:
print('Buzz')
elif a1 % 3 == 0:
print('Fizz')
else:
print('1')
a2 = 2
if a2 % 15 == 0:
print('FizzBuzz')
elif a2 % 5 == 0:
print('Buzz')
elif a2 % 3 == 0:
print('Fizz')
else:
print('2')
a3 = 3
if a3 % 15 == 0:
print('FizzBuzz')
elif a3 % 5 == 0:
print('Buzz')
elif a3 % 3 == 0:
print('Fizz')
else:
print('3')
a4 = 4
if a4 % 15 == 0:
print('FizzBuzz')
elif a4 % 5 == 0:
print('Buzz')
elif a4 % 3 == 0:
print('Fizz')
else:
print('4')
a5 = 5
if a5 % 15 == 0:
print('FizzBuzz')
elif a5 % 5 == 0:
print('Buzz')
elif a5 % 3 == 0:
print('Fizz')
else:
print('5')
a6 = 6
if a6 % 15 == 0:
print('FizzBuzz')
elif a6 % 5 == 0:
print('Buzz')
elif a6 % 3 == 0:
print('Fizz')
else:
print('6')
a7 = 7
if a7 % 15 == 0:
print('FizzBuzz')
elif a7 % 5 == 0:
print('Buzz')
elif a7 % 3 == 0:
print('Fizz')
else:
print('7')
a8 = 8
if a8 % 15 == 0:
print('FizzBuzz')
elif a8 % 5 == 0:
print('Buzz')
elif a8 % 3 == 0:
print('Fizz')
else:
print('8')
a9 = 9
if a9 % 15 == 0:
print('FizzBuzz')
elif a9 % 5 == 0:
print('Buzz')
elif a9 % 3 == 0:
print('Fizz')
else:
print('9')
a10 = 10
if a10 % 15 == 0:
print('FizzBuzz')
elif a10 % 5 == 0:
print('Buzz')
elif a10 % 3 == 0:
print('Fizz')
else:
print('10')
a11 = 11
if a11 % 15 == 0:
print('FizzBuzz')
elif a11 % 5 == 0:
print('Buzz')
elif a11 % 3 == 0:
print('Fizz')
else:
print('11')
a12 = 12
if a12 % 15 == 0:
print('FizzBuzz')
elif a12 % 5 == 0:
print('Buzz')
elif a12 % 3 == 0:
print('Fizz')
else:
print('12')
a13 = 13
if a13 % 15 == 0:
print('FizzBuzz')
elif a13 % 5 == 0:
print('Buzz')
elif a13 % 3 == 0:
print('Fizz')
else:
print('13')
a14 = 14
if a14 % 15 == 0:
print('FizzBuzz')
elif a14 % 5 == 0:
print('Buzz')
elif a14 % 3 == 0:
print('Fizz')
else:
print('14')
a15 = 15
if a15 % 15 == 0:
print('FizzBuzz')
elif a15 % 5 == 0:
print('Buzz')
elif a15 % 3 == 0:
print('Fizz')
else:
print('15')
a16 = 16
if a16 % 15 == 0:
print('FizzBuzz')
elif a16 % 5 == 0:
print('Buzz')
elif a16 % 3 == 0:
print('Fizz')
else:
print('16')
a17 = 17
if a17 % 15 == 0:
print('FizzBuzz')
elif a17 % 5 == 0:
print('Buzz')
elif a17 % 3 == 0:
print('Fizz')
else:
print('17')
a18 = 18
if a18 % 15 == 0:
print('FizzBuzz')
elif a18 % 5 == 0:
print('Buzz')
elif a18 % 3 == 0:
print('Fizz')
else:
print('18')
a19 = 19
if a19 % 15 == 0:
print('FizzBuzz')
elif a19 % 5 == 0:
print('Buzz')
elif a19 % 3 == 0:
print('Fizz')
else:
print('19')
a20 = 20
if a20 % 15 == 0:
print('FizzBuzz')
elif a20 % 5 == 0:
print('Buzz')
elif a20 % 3 == 0:
print('Fizz')
else:
print('20')
a21 = 21
if a21 % 15 == 0:
print('FizzBuzz')
elif a21 % 5 == 0:
print('Buzz')
elif a21 % 3 == 0:
print('Fizz')
else:
print('21')
a22 = 22
if a22 % 15 == 0:
print('FizzBuzz')
elif a22 % 5 == 0:
print('Buzz')
elif a22 % 3 == 0:
print('Fizz')
else:
print('22')
a23 = 23
if a23 % 15 == 0:
print('FizzBuzz')
elif a23 % 5 == 0:
print('Buzz')
elif a23 % 3 == 0:
print('Fizz')
else:
print('23')
a24 = 24
if a24 % 15 == 0:
print('FizzBuzz')
elif a24 % 5 == 0:
print('Buzz')
elif a24 % 3 == 0:
print('Fizz')
else:
print('24')
a25 = 25
if a25 % 15 == 0:
print('FizzBuzz')
elif a25 % 5 == 0:
print('Buzz')
elif a25 % 3 == 0:
print('Fizz')
else:
print('25')
a26 = 26
if a26 % 15 == 0:
print('FizzBuzz')
elif a26 % 5 == 0:
print('Buzz')
elif a26 % 3 == 0:
print('Fizz')
else:
print('26')
a27 = 27
if a27 % 15 == 0:
print('FizzBuzz')
elif a27 % 5 == 0:
print('Buzz')
elif a27 % 3 == 0:
print('Fizz')
else:
print('27')
a28 = 28
if a28 % 15 == 0:
print('FizzBuzz')
elif a28 % 5 == 0:
print('Buzz')
elif a28 % 3 == 0:
print('Fizz')
else:
print('28')
a29 = 29
if a29 % 15 == 0:
print('FizzBuzz')
elif a29 % 5 == 0:
print('Buzz')
elif a29 % 3 == 0:
print('Fizz')
else:
print('29')
a30 = 30
if a30 % 15 == 0:
print('FizzBuzz')
elif a30 % 5 == 0:
print('Buzz')
elif a30 % 3 == 0:
print('Fizz')
else:
print('30')
a31 = 31
if a31 % 15 == 0:
print('FizzBuzz')
elif a31 % 5 == 0:
print('Buzz')
elif a31 % 3 == 0:
print('Fizz')
else:
print('31')
a32 = 32
if a32 % 15 == 0:
print('FizzBuzz')
elif a32 % 5 == 0:
print('Buzz')
elif a32 % 3 == 0:
print('Fizz')
else:
print('32')
a33 = 33
if a33 % 15 =

( ⚆ ʖ ⚆), [08.03.19 22:26]
= 0:
print('FizzBuzz')
elif a33 % 5 == 0:
print('Buzz')
elif a33 % 3 == 0:
print('Fizz')
else:
print('33')
a34 = 34
if a34 % 15 == 0:
print('FizzBuzz')
elif a34 % 5 == 0:
print('Buzz')
elif a34 % 3 == 0:
print('Fizz')
else:
print('34')
a35 = 35
if a35 % 15 == 0:
print('FizzBuzz')
elif a35 % 5 == 0:
print('Buzz')
elif a35 % 3 == 0:
print('Fizz')
else:
print('35')
a36 = 36
if a36 % 15 == 0:
print('FizzBuzz')
elif a36 % 5 == 0:
print('Buzz')
elif a36 % 3 == 0:
print('Fizz')
else:
print('36')
a37 = 37
if a37 % 15 == 0:
print('FizzBuzz')
elif a37 % 5 == 0:
print('Buzz')
elif a37 % 3 == 0:
print('Fizz')
else:
print('37')
a38 = 38
if a38 % 15 == 0:
print('FizzBuzz')
elif a38 % 5 == 0:
print('Buzz')
elif a38 % 3 == 0:
print('Fizz')
else:
print('38')
a39 = 39
if a39 % 15 == 0:
print('FizzBuzz')
elif a39 % 5 == 0:
print('Buzz')
elif a39 % 3 == 0:
print('Fizz')
else:
print('39')
a40 = 40
if a40 % 15 == 0:
print('FizzBuzz')
elif a40 % 5 == 0:
print('Buzz')
elif a40 % 3 == 0:
print('Fizz')
else:
print('40')
a41 = 41
if a41 % 15 == 0:
print('FizzBuzz')
elif a41 % 5 == 0:
print('Buzz')
elif a41 % 3 == 0:
print('Fizz')
else:
print('41')
a42 = 42
if a42 % 15 == 0:
print('FizzBuzz')
elif a42 % 5 == 0:
print('Buzz')
elif a42 % 3 == 0:
print('Fizz')
else:
print('42')
a43 = 43
if a43 % 15 == 0:
print('FizzBuzz')
elif a43 % 5 == 0:
print('Buzz')
elif a43 % 3 == 0:
print('Fizz')
else:
print('43')
a44 = 44
if a44 % 15 == 0:
print('FizzBuzz')
elif a44 % 5 == 0:
print('Buzz')
elif a44 % 3 == 0:
print('Fizz')
else:
print('44')
a45 = 45
if a45 % 15 == 0:
print('FizzBuzz')
elif a45 % 5 == 0:
print('Buzz')
elif a45 % 3 == 0:
print('Fizz')
else:
print('45')
a46 = 46
if a46 % 15 == 0:
print('FizzBuzz')
elif a46 % 5 == 0:
print('Buzz')
elif a46 % 3 == 0:
print('Fizz')
else:
print('46')
a47 = 47
if a47 % 15 == 0:
print('FizzBuzz')
elif a47 % 5 == 0:
print('Buzz')
elif a47 % 3 == 0:
print('Fizz')
else:
print('47')
a48 = 48
if a48 % 15 == 0:
print('FizzBuzz')
elif a48 % 5 == 0:
print('Buzz')
elif a48 % 3 == 0:
print('Fizz')
else:
print('48')
a49 = 49
if a49 % 15 == 0:
print('FizzBuzz')
elif a49 % 5 == 0:
print('Buzz')
elif a49 % 3 == 0:
print('Fizz')
else:
print('49')
a50 = 50
if a50 % 15 == 0:
print('FizzBuzz')
elif a50 % 5 == 0:
print('Buzz')
elif a50 % 3 == 0:
print('Fizz')
else:
print('50')
a51 = 51
if a51 % 15 == 0:
print('FizzBuzz')
elif a51 % 5 == 0:
print('Buzz')
elif a51 % 3 == 0:
print('Fizz')
else:
print('51')
a52 = 52
if a52 % 15 == 0:
print('FizzBuzz')
elif a52 % 5 == 0:
print('Buzz')
elif a52 % 3 == 0:
print('Fizz')
else:
print('52')
a53 = 53
if a53 % 15 == 0:
print('FizzBuzz')
elif a53 % 5 == 0:
print('Buzz')
elif a53 % 3 == 0:
print('Fizz')
else:
print('53')
a54 = 54
if a54 % 15 == 0:
print('FizzBuzz')
elif a54 % 5 == 0:
print('Buzz')
elif a54 % 3 == 0:
print('Fizz')
else:
print('54')
a55 = 55
if a55 % 15 == 0:
print('FizzBuzz')
elif a55 % 5 == 0:
print('Buzz')
elif a55 % 3 == 0:
print('Fizz')
else:
print('55')
a56 = 56
if a56 % 15 == 0:
print('FizzBuzz')
elif a56 % 5 == 0:
print('Buzz')
elif a56 % 3 == 0:
print('Fizz')
else:
print('56')
a57 = 57
if a57 % 15 == 0:
print('FizzBuzz')
elif a57 % 5 == 0:
print('Buzz')
elif a57 % 3 == 0:
print('Fizz')
else:
print('57')
a58 = 58
if a58 % 15 == 0:
print('FizzBuzz')
elif a58 % 5 == 0:
print('Buzz')
elif a58 % 3 == 0:
print('Fizz')
else:
print('58')
a59 = 59
if a59 % 15 == 0:
print('FizzBuzz')
elif a59 % 5 == 0:
print('Buzz')
elif a59 % 3 == 0:
print('Fizz')
else:
print('59')
a60 = 60
if a60 % 15 == 0:
print('FizzBuzz')
elif a60 % 5 == 0:
print('Buzz')
elif a60 % 3 == 0:
print('Fizz')
else:
print('60')
a61 = 61
if a61 % 15 == 0:
print('FizzBuzz')
elif a61 % 5 == 0:
print('Buzz')
elif a61 % 3 == 0:
print('Fizz')
else:
print('61')
a62 = 62
if a62 % 15 == 0:
print('FizzBuzz')
elif a62 % 5 == 0:
print('Buzz')
elif a62 % 3 == 0:
print('Fizz')
else:
print('62')
a63 = 63
if a63 % 15 == 0:
print('FizzBuzz')
elif a63 % 5 == 0:
print('Buzz')
elif a63 % 3 == 0:
print('Fizz')
else:
print('63')
a64 = 64
if a64 % 15 == 0:
print('FizzBuzz')
elif a64 % 5 == 0:
print('Buzz')
elif a64 % 3 == 0:
print('Fizz')
else:
pr

( ⚆ ʖ ⚆), [08.03.19 22:26]
int('64')
a65 = 65
if a65 % 15 == 0:
print('FizzBuzz')
elif a65 % 5 == 0:
print('Buzz')
elif a65 % 3 == 0:
print('Fizz')
else:
print('65')
a66 = 66
if a66 % 15 == 0:
print('FizzBuzz')
elif a66 % 5 == 0:
print('Buzz')
elif a66 % 3 == 0:
print('Fizz')
else:
print('66')
a67 = 67
if a67 % 15 == 0:
print('FizzBuzz')
elif a67 % 5 == 0:
print('Buzz')
elif a67 % 3 == 0:
print('Fizz')
else:
print('67')
a68 = 68
if a68 % 15 == 0:
print('FizzBuzz')
elif a68 % 5 == 0:
print('Buzz')
elif a68 % 3 == 0:
print('Fizz')
else:
print('68')
a69 = 69
if a69 % 15 == 0:
print('FizzBuzz')
elif a69 % 5 == 0:
print('Buzz')
elif a69 % 3 == 0:
print('Fizz')
else:
print('69')
a70 = 70
if a70 % 15 == 0:
print('FizzBuzz')
elif a70 % 5 == 0:
print('Buzz')
elif a70 % 3 == 0:
print('Fizz')
else:
print('70')
a71 = 71
if a71 % 15 == 0:
print('FizzBuzz')
elif a71 % 5 == 0:
print('Buzz')
elif a71 % 3 == 0:
print('Fizz')
else:
print('71')
a72 = 72
if a72 % 15 == 0:
print('FizzBuzz')
elif a72 % 5 == 0:
print('Buzz')
elif a72 % 3 == 0:
print('Fizz')
else:
print('72')
a73 = 73
if a73 % 15 == 0:
print('FizzBuzz')
elif a73 % 5 == 0:
print('Buzz')
elif a73 % 3 == 0:
print('Fizz')
else:
print('73')
a74 = 74
if a74 % 15 == 0:
print('FizzBuzz')
elif a74 % 5 == 0:
print('Buzz')
elif a74 % 3 == 0:
print('Fizz')
else:
print('74')
a75 = 75
if a75 % 15 == 0:
print('FizzBuzz')
elif a75 % 5 == 0:
print('Buzz')
elif a75 % 3 == 0:
print('Fizz')
else:
print('75')
a76 = 76
if a76 % 15 == 0:
print('FizzBuzz')
elif a76 % 5 == 0:
print('Buzz')
elif a76 % 3 == 0:
print('Fizz')
else:
print('76')
a77 = 77
if a77 % 15 == 0:
print('FizzBuzz')
elif a77 % 5 == 0:
print('Buzz')
elif a77 % 3 == 0:
print('Fizz')
else:
print('77')
a78 = 78
if a78 % 15 == 0:
print('FizzBuzz')
elif a78 % 5 == 0:
print('Buzz')
elif a78 % 3 == 0:
print('Fizz')
else:
print('78')
a79 = 79
if a79 % 15 == 0:
print('FizzBuzz')
elif a79 % 5 == 0:
print('Buzz')
elif a79 % 3 == 0:
print('Fizz')
else:
print('79')
a80 = 80
if a80 % 15 == 0:
print('FizzBuzz')
elif a80 % 5 == 0:
print('Buzz')
elif a80 % 3 == 0:
print('Fizz')
else:
print('80')
a81 = 81
if a81 % 15 == 0:
print('FizzBuzz')
elif a81 % 5 == 0:
print('Buzz')
elif a81 % 3 == 0:
print('Fizz')
else:
print('81')
a82 = 82
if a82 % 15 == 0:
print('FizzBuzz')
elif a82 % 5 == 0:
print('Buzz')
elif a82 % 3 == 0:
print('Fizz')
else:
print('82')
a83 = 83
if a83 % 15 == 0:
print('FizzBuzz')
elif a83 % 5 == 0:
print('Buzz')
elif a83 % 3 == 0:
print('Fizz')
else:
print('83')
a84 = 84
if a84 % 15 == 0:
print('FizzBuzz')
elif a84 % 5 == 0:
print('Buzz')
elif a84 % 3 == 0:
print('Fizz')
else:
print('84')
a85 = 85
if a85 % 15 == 0:
print('FizzBuzz')
elif a85 % 5 == 0:
print('Buzz')
elif a85 % 3 == 0:
print('Fizz')
else:
print('85')
a86 = 86
if a86 % 15 == 0:
print('FizzBuzz')
elif a86 % 5 == 0:
print('Buzz')
elif a86 % 3 == 0:
print('Fizz')
else:
print('86')
a87 = 87
if a87 % 15 == 0:
print('FizzBuzz')
elif a87 % 5 == 0:
print('Buzz')
elif a87 % 3 == 0:
print('Fizz')
else:
print('87')
a88 = 88
if a88 % 15 == 0:
print('FizzBuzz')
elif a88 % 5 == 0:
print('Buzz')
elif a88 % 3 == 0:
print('Fizz')
else:
print('88')
a89 = 89
if a89 % 15 == 0:
print('FizzBuzz')
elif a89 % 5 == 0:
print('Buzz')
elif a89 % 3 == 0:
print('Fizz')
else:
print('89')
a90 = 90
if a90 % 15 == 0:
print('FizzBuzz')
elif a90 % 5 == 0:
print('Buzz')
elif a90 % 3 == 0:
print('Fizz')
else:
print('90')
a91 = 91
if a91 % 15 == 0:
print('FizzBuzz')
elif a91 % 5 == 0:
print('Buzz')
elif a91 % 3 == 0:
print('Fizz')
else:
print('91')
a92 = 92
if a92 % 15 == 0:
print('FizzBuzz')
elif a92 % 5 == 0:
print('Buzz')
elif a92 % 3 == 0:
print('Fizz')
else:
print('92')
a93 = 93
if a93 % 15 == 0:
print('FizzBuzz')
elif a93 % 5 == 0:
print('Buzz')
elif a93 % 3 == 0:
print('Fizz')
else:
print('93')
a94 = 94
if a94 % 15 == 0:
print('FizzBuzz')
elif a94 % 5 == 0:
print('Buzz')
elif a94 % 3 == 0:
print('Fizz')
else:
print('94')
a95 = 95
if a95 % 15 == 0:
print('FizzBuzz')
elif a95 % 5 == 0:
print('Buzz')
elif a95 % 3 == 0:
print('Fizz')
else:
print('95')
a96 = 96
if a96 % 15 == 0:
print('FizzBuzz')
elif a96 % 5 == 0:
print('Buzz')
elif a96

( ⚆ ʖ ⚆), [08.03.19 22:26]
% 3 == 0:
print('Fizz')
else:
print('96')
a97 = 97
if a97 % 15 == 0:
print('FizzBuzz')
elif a97 % 5 == 0:
print('Buzz')
elif a97 % 3 == 0:
print('Fizz')
else:
print('97')
a98 = 98
if a98 % 15 == 0:
print('FizzBuzz')
elif a98 % 5 == 0:
print('Buzz')
elif a98 % 3 == 0:
print('Fizz')
else:
print('98')
a99 = 99
if a99 % 15 == 0:
print('FizzBuzz')
elif a99 % 5 == 0:
print('Buzz')
elif a99 % 3 == 0:
print('Fizz')
else:
print('99')
a100 = 100
if a100 % 15 == 0:
print('FizzBuzz')
elif a100 % 5 == 0:
print('Buzz')
elif a100 % 3 == 0:
print('Fizz')
else:
print('100')
Я принят?
image.png41 Кб, 657x527
219 1417113
Анончики, сейчас вот начинается лето, и у меня появляется уйма свободного времени. Подскажите, где можно найти опытного человека, который бы просто давал разные задачи и какие-то сроки на выполнения, а потом, по возможности, смотрел результат и давал критику? Из навыков недоджун-уровень знание плюсов, знаком с Qt. В целом я и так буду решать разные задачи, но хотелось бы делать это под надзором более опытного кодера, который подскажет как делать лучше.
15597453582020.png24 Кб, 494x400
220 1417128
>>17105
Этот поехал. Заворачивайте.

типичный питухонщик, ты забыл про а0
221 1417130
>>17113
можешь пойти ко мне в рабство, но надо на жс писать
222 1417135
>>17113

>Из навыков недоджун-уровень знание плюсов, знаком с Qt.


Иди на фриланс.ру и upwork и работай, в чем проблема-то?
С такими навыками уже можно на мороженку заработать.

Если хочешь подготовиться к собесам на норм рабство у интересных хозяев, зарегься и прорешивай алгоритмические задачи на
https://www.codewars.com
https://leetcode.com
https://www.hackerrank.com
Там везде есть заодно и таймлимиты на задачи, хорошо организует.

Ну и
https://www.codingame.com/
223 1417137
>>17135
Одни говорят что олимпиадники это ужасные программисты в продакшене, а другие говорят что нужно решать олимпиады для развития логики. Да и хотелось бы порешать что-то более приближенное к реальности, а не сортировать матрицы 1000 и одним способом. Часто видел как опытные люди описывали свой путь как:

>хорошо учился


>нашел ментора сеньора-помидора


>теперь я сам сеньор/тимлид/архитектор


Я на кодварсе и так решаю иногда, но вот иногда вижу что требуют алгоритмическую базу, а алгоритмов настолько много, что даже не поймешь какие из них реально нужны, а какие не используются с 60-х годов. С фриланса на плюсах проиграл немного, у нас в городе миллионнике вакансий то штук 20 всего, а фриланс это что-то невероятное.
224 1417144
>>17137
Просто забей. Ваше поколение уже ничему толковому не научится. Настоящий программист, чтобы быть тру кодером, должен писать свою ОС в течение многих лет. А вам это неинтересно.
225 1417147
>>17144
Много вас таких, пишущих свою ОС? Почему тогда их всего пять на слуху?
226 1417159
>>17137
ну, бля, задач 300 надо набрать, чтобы тупо руку набить
когда еще студентик
те и не задротить олимпиадки, но и хуй не забивать на компетив ресурсы с задачками
средний путь, в общем
227 1417161
>>17113
пиздуй на hackerrank и ебашь задачи
однозначно
228 1417164
>>17046

>string_view - замена const string& в аргументах функции, да ещё и без нулевого символа.


не забывай что стринг вью еще жрет строковые литералы и строки в си стиле
это важно
особенно в шаблонохераченье
229 1417167
>>17042
бля, чувак, зачем нужен стринг вью можно выяснить за 10 минут гуглежа
ебаный в рот, целые доклады на конференциях есть где только эту фичу обсасывают
нахуй тут это спрашивать
230 1417238
>>17167

> целые доклады на конференциях


> за 10 минут



Ты не очень умный?
231 1417266
Я сейчас работаю над проектом, который будет хранить в озу довольно большой объем информации. Так вот, правильно ли я поступлю, если напишу вот так:
std::list<Ray> *rayl = new std::list<Ray>(60);
А когда мне этот список не потребуется, то delete rayl;
rayl = nullptr;
Какие подводные?
232 1417271
>>17266
Рано или поздно проебешься и схватишь сегфолт, зато сэкономил 8 байт на указателе.

list.clear() для кого сделали, блять
233 1417316
>>17238
не умный, но, сука, эрудированный
сечешь разницу?
на конференциях (в частности cppcon) есть особый формат доклада длительностью 5 или 7 или 10 минут, люди подходят быстро рассказывают-показывают и отходят, все это за одну сессию
за частую это самая интересная часть конференции
интересней, наверное, только практикумы на конфах
234 1417430
Что делает flush в QTcpSocket?
235 1417436
>>17430
Инфа которая отсылается в QTcpSocket не отправляется сразу, а накапливается в внутреннем буфере (что бы уменьшить количество системных вызовом). flush заставляет сразу отправить всю накопленную инфу.
236 1417438
>>17436
Спасибо
237 1417440
>>17128

>ты забыл про а0


Для хакатона сойдёт
238 1417449
>>17436
ты лох
239 1417709
Я пизлдец бомблю, потому что не понимаю как вывести текст в ебучий label. Могу сделать сервер на qt, но не вывести ЕБАНЫЙ ТЕКСТ В ЕБАНЫЙ LABEL
240 1417722
>>17709
Пиздец сложно:
ebanyi_label->setText("ebanyi text");
241 1417725
>>17722
Да. Сейчас приведу фрагмент кода. Как лучше код выделить?
242 1417734
>>17722
#include "Chat.h"
#include <QDebug>
#include <QtGui>
#include <QLabel>
#include <QPlainTextEdit>
Chat::Chat(QWidget parent):
QMainWindow(parent)
{
ui.setupUi(this);
}
MyServer::MyServer(QObject
parent) :
QObject(parent)
{
server =new QTcpServer(this);
connect(server,SIGNAL(newConnection()), this, SLOT(newConnection()));

if (!server->listen(QHostAddress::Any, 777)) {
label_3 ->setText("Бля. Чет не фурычит"); // Вот тут и дальше я хз как вывести текст в форму
}
else {
}
}

void MyServer::newConnection() {
QTcpSocket* socket = server->nextPendingConnection();
socket->write("Вроде подключилось");
socket->flush();
}

Необъявленный идентификатор
242 1417734
>>17722
#include "Chat.h"
#include <QDebug>
#include <QtGui>
#include <QLabel>
#include <QPlainTextEdit>
Chat::Chat(QWidget parent):
QMainWindow(parent)
{
ui.setupUi(this);
}
MyServer::MyServer(QObject
parent) :
QObject(parent)
{
server =new QTcpServer(this);
connect(server,SIGNAL(newConnection()), this, SLOT(newConnection()));

if (!server->listen(QHostAddress::Any, 777)) {
label_3 ->setText("Бля. Чет не фурычит"); // Вот тут и дальше я хз как вывести текст в форму
}
else {
}
}

void MyServer::newConnection() {
QTcpSocket* socket = server->nextPendingConnection();
socket->write("Вроде подключилось");
socket->flush();
}

Необъявленный идентификатор
243 1417757
>>17734
Твой сервер не знает, про существование лейблов, и это норма. Все твои ГУИ элементы лежат в структуре ui, а она является членом класса Chat.
ИМХО, лучше listen вызывать не в конструкторе, а сделать отдельный метод.
При возникновении ошибки сервера, можно емитить сигнал (ну например myServerError(const QString&)). А в чате приконектится к этому сигналу слотом лейбла setText.
Также можно транслировать сигнал об ошибке самого сокета. (Надо добавить серверу нужный сиглал, аналогичный QTcpServer, и законектить их).
244 1417760
>>17757

> Твой сервер не знает, про существование лейблов, и это норма. Все твои ГУИ элементы лежат в структуре ui, а она является членом класса Chat.


То есть надо написать Chat::ui.label.setText()?

За остальное спасибо
245 1417763
>>17760
C2664 "Ui::ChatClass::ChatClass(Ui::ChatClass &&)": невозможно преобразовать аргумент 1 из "Ui::ChatClass *" в "const Ui::ChatClass &"ChatC:\Users\Andrew\source\repos\Chat\Chat.cpp
Иду гуглить
246 1417767
>>17760
Так можно написать, если ui статический публичный член класса Chat. Но так делать не нужно.
Можешь серверу сделать член класса - указатель на лейбл и инициализировать его передав твой лейбл как параметр конструкрора. Но это тоже хреновое решение - оно разносит твой гуй по компонентам, которые о нем знать не должны.
247 1417768
>>17767
А как правильно?
248 1417774
>>17734
Qосtыли
249 1417775
>>17768
Я же в первом ответе написал, при ошибке емитить сигнал, в сигнале можно передать текст или код ошибки. В Chat сделать слот, и законектить его с этим сигналом. В слоте уже обработать и вывести текст.
Где ты сервер создаёшь?
250 1417780
>>17774
Есть другие варианты?
251 1417840
>>17775
СПАСИБО ОГРОМНОЕ. Vs не ругается.
252 1417859
>>17775
Еще тупой вопрос. Где connect писать?)))
253 1417882
>>17859
Всегда какой-то объект не виден. У меня есть объект server моего класса MyServer и объект w класса Chat (основной класс). Я не знаю где их связать
254 1417891
>>17882
Не так. Я запутался в своем коде. Как разберусь напишу
255 1417914
>>17891
Мне нужно связать сигнал объекта, который создается в конструкторе другого объекта с слотом объекта главного класса. Как это сделать?
256 1418002
>>17734
M V C
V
C

Пиздец, тебе уже что-то посоветовать успели и это не mvc
257 1418011
>>17914
Мне сложно сказать что-то конкретное, так как я не знаю какую архитектуру ты напедалил.

>Как это сделать?


Первый вариант: делаешь геттер для вложенного класса и потом где-то пишешь QObject::connect(obj->getInnerObj(), SIGNAL(signal), mainWindow, SLOT(slot));
Второй вариант (получше): во внешнем классе делаешь сигнал c такой же сигнатурой как у внутреннего можно тупо скопировать. В конструкторе внешнего соединяешь сигналы connect(innerObj, SIGNAL(signal), SIGNAL(signal));. Теперь можно приконектить главное окно так: QObject::connect(obj, SIGNAL(signal), mainWindow, SLOT(slot));
258 1418015
>>18002

>не mvc


А ему полноценный mvc и не нужон.
259 1418017
>>18015
В слёзы нахуй. Что по-твоему "не полноценный MVC"?
260 1418027
>>18017
Его главное окно может спокойно выполнять роль контроллера и вьюхи. И мы даже не знаем что там за модель и есть ли она. Но ведь главное это паттернодрочинг и оверинжинирнутое решение для лаба1, да? Чувак только учится, сделает криво раз, второй раз уже будет лучше.
261 1418471
>>13616
Остаток от деления ищет, но это фигня все, ни один помидор в здравом уме не ответит
262 1418480
>>18471
Даже стажёр ответит, чисто из предположений, что эта штука похожа на лямбду (на самом деле это она и есть) и что тут используются диграфы. На диграфах синьоры начнут кукарекать, что их удалили в 17 плюсах, но это не так
263 1418498
>>18480
Триграфы удалили.
264 1418501
>>18498
Ну так и я о том же. Триграфов больше нет, но диграфы остались
265 1418522
>>13564 (OP)
Бля посоны, не бейте лучше обоссыте плешь может волос отрастет обратно.

Как запустить программу из мейна? Я имею ввиду вот у меня есть класс в котором все реализовано, допустим игра угадай загаданную цифру от одного до охуллиона. Как этот класс запустить из мейна и зациклить его на выполнение до успеха, ну или до усрачки, без goto? И как его потом вырбить нахуй?
А то у меня только с костылями все выходит.
Я заглядывал в другие сорсы и видел там что то в духе
int main
{
class vasyan;
vasyan.Run();
return 0;
}
Но когда я делаю то же самое у меня компиятор ругается и все валится. ЧЯДНТ

Если что, дописывать и улучшать чужые сорсы я умею.
266 1418533
>>13747

>ембедед на си


>c++ умрет



>язык который чуть ли не лично гитлера в попку целовал переживет свою осовремененную реинкарнацию


Хладен сказ боярин

И не надо мне тут про то какой С чоткий. Он устарел морально, как телефоны алкатель.
Вроде работает и можно даже обойтись без главного правила связи громче крикнешь дальше услышат но использовать его сейчас, когда даже ссаный китаефон с цианом за 20 баксов может сделать все то же самое но намного лучше? Нахуя?
267 1418573
>>18522
while (true) {...}
268 1418586
>>18522
Да ты траллиш. Таких тупых овощей не бывает.

Самый последний пхпшник знает про оператор условия и цикла. Но если вдруг что-то мешает тебе погуглить и прочитать про это самостоятельно, можешь начать погружение в удивительный мир программирования отсюда:
https://ru.cppreference.com/w/cpp/language/while

извини, что ссылка на русский цппреференс, но ты своим постом себя несколько дискредитировал
269 1418592
>>18586
Это я и так знаю.
А что делать если я какую то более серезную программу уровня "ебашишь мышкой по квадратикам и они меняют цвет" сделать захочу? Или тот же тетрис ебучий ссука. Тоже цикл вставлять?
Я что то упускаю.
270 1418610
>>18592
Так-то во всяких там qt тоже есть цикл – цикл сообщений.
Только он заранее написан и спрятан. Из него вызывается всякая хуйня при разных условиях. Тебе остается только переопределить какой-нибудь OnClick, и при нажатии вызовется не пустая затычка, а твой говнокод.

В принципе, такую систему легко изготовить самому. Например делаешь класс с виртуальным методом OnUpdate и обычным методом Run, внутри run тот самый бесконечный while(1) {OnUpdate();}
Потом тупо наследуешь класс от него, переопределяешь ОnUрdate. В мейне как раз и остается только создание этого класса и c.Run();
271 1418623
>>18592
OneLoneCoder гугли, у него на канале есть видео про общие принципы GUI
272 1418664
>>17147
Ты ебобо? Их дохуя просто. Зайди на сайт osdev, например.
273 1418712
Не осилил С++ за год. Я совсем дебил? Продолжать или забить хуй?
274 1418719
>>18712
Да.
275 1418721
>>18719
Мне как то знакомая тян сказала что только пацаны могут так тупо отвечать: вопросов несколько, а ответ один.
276 1418730
>>18610
Хммм...
И это все эксели с тридэмаксами запускаются и работают с помощью цикла while, или другого похожего?!

Я то думал там какая то тайна за семью печатями.
277 1418732
>>18721
Это был классический траллинг, лалка.
Ты совсем дебил, да.
278 1418734
>>18730

>эксели


Возможно хотя и вряд ли

>тридэмаксами


Точно нет даже близко.
279 1418735
>>18734
А как же там тогда, хоть примерно?
280 1418737
>>18732
Фига ты тролль-хеллоуворлдщик.
281 1418738
>>18735

>А как же там тогда


Многопоточно, иногда даже неблокирующе - если не совсем дебилы вроде тебя делали.
А в тридемаксах еще и в шейдеры дохуя вынесено, а исполнение на гпу - это просто мечта шизофреника вроде меня
изображение.png499 Кб, 600x800
282 1418739
>>18737

> >Не осилил С++ за год


>хеллоуворлдщик


Ох уж эти проекции.
283 1418744
>>18738
Хуета какая то выходит тогда. Вот смотрю я на исходники блендера (он написан на С но да похуй примерно понятно что там происходит) и я вижу где он там создает треды , вижу какие то костылики чтобы создать не гомогенный мемпул.
Но я блять нигде не вижу никакого цикла который бы крутился хоть в одном треде для того чтобы блендер работал.
284 1418747
>>18739
Ты так и не понял, что это я потролил двачик, а не он меня. Не видать тебе 300к в секунду, никогда.
285 1418748
>>18744

>нигде не вижу никакого цикла который бы крутился хоть в одном треде


Потому что их там нет, капитан.
>>18747

>эти нелепые оправдания


Ебать ты омеган.
286 1418749
>>18748
Поясни тогда как они там работают то. Чего ты ломаешься как тянка перед первым минетом?
287 1418752
>>18749

>как они там работают


Нормально работают.
288 1418754
>>18752
Yasno.
sage 289 1418756
>>18748

>ведется на байты за сто


Джава-ребёнок протёк.
290 1418758
>>18738
Нету никакого другого способа чтобы бесконечно выполнять программу кроме как while(true). Просто это иногда может быть спрятано в библиотеках или еще в каких-то механизмах.
291 1418759
>>18758

>или еще в каких-то механизмах.


Ага, есть такой механизм называется операционная система
Пиздец вы тут дебилы все поголовно.
sage 292 1418761
>>18758
Что за хуйню ты несешь? Надеюсь это толстота.
293 1418762
>>18761

>Надеюсь это толстота.


Напрасно надеешься, оно >>18758 и правда такой дебил.
И школьник, скорее всего.
294 1418763
>>18759
Вот у тебя есть main(){}. Все что делает ОС - последовательно выполняет операции, которые ты в мейне написал. Всё.
Ты можешь создать дополнительный процесс. Но он также будет выполняться до тех пор, пока не дойдет до конца программы.
295 1418764
>>18763

>делает ОС


>выполняет операции, которые ты в мейне написал


А может и толстота.
Хотя нет, скорее всего просто школьник.
То есть хуже червя-пидора и тупее табуретки.
296 1418765
>>18764
Да мне поебать.
Ты лучше по конкретике что-то скажи, если можешь.
297 1418766
>>18765

>по конкретике


Гугл: асинхронное исполнение
И ступай с миром, малолетний дебил.
298 1418767
>>18766
Ну т.е. ты где-то услышал слово "асинхронное", но не можешь объяснить как оно работает.
sage 299 1418769
>>18763
Премию Дарвина этому толстяку.
300 1418770
>>18767

>объяснить


Репетиторство платно, предоплата 50%
301 1418771
>>18770
50% от 0 - 0.
Давай рассказывай.
302 1418772
>>18771
Обычная ставка 50 евро в час, но лично для тебя льготный тариф всего 70 евро
Как платить удобнее?
303 1418776
>>18772
Так уж и быть, оплатил тебе за щеку. Вторая порция - после.
Если хорошо объяснишь, могу в качестве чаевых нассать тебе на ебло.
По рукам?
304 1418777
>>18712
Хули с твоим годом. Может ты раз в неделю под пивас сппконы смотрел. Часов сколько потратил?
305 1418778
>>18776
Объяснил подробно, проверяй личку.
306 1418779
>>18766
Я сторонний человек в вашем споре, но скажу, что любая программа, имеющая пользовательский интерфейс, имеет и главный цикл, в котором проверяется наличие событий типа нажатия клавиш и движения мыши. Если создается второе окно программы (открыт второй документ), то будет создан отдельный поток для него, который также будет включать в себя главный цикл для взаимодействия с пользователем. Асинхронно могут выполняться задачи, не требующие внимания пользователя вплоть до своего завершения. Но человек взаимодействует с программой всегда через главный цикл, который программой и управляет (либо несколько таких циклов в случае нескольких окон).
307 1418780
>>18777
Нахуй иди.
308 1418781
>>18779

>любая программа, имеющая пользовательский интерфейс, имеет и главный цикл


>проверяется наличие событий типа нажатия клавиш


Дурачок, ты отстал от жизни лет на 20 на 10 если мерять плюсами, хаха
309 1418784
>>18781
Ну так просвети же нас, как программа узнает о том, что я кликнул мышкой.
310 1418785
>>18780

>Продолжать или забить хуй?


Забей, если ты не готов убивать всё свободное время на изучение программирования то ты и через 5 лет будешь на уровне laba1.cpp.
311 1418787
>>18784

>как программа узнает о том, что я кликнул мышкой.


Через события/сообщения/т.д.
Еще дебильные вопросы будут?
312 1418791
>>18787
Так через события или сообщения? Это важно.
И откуда появляются они? И где они хранятся? Кто их обрабатывает?
313 1418794
>>18791

>события или сообщения


Зависит от языка.

> >есть такой механизм называется операционная система


>И откуда появляются они? И где они хранятся? Кто их обрабатывает?


Ебать дебил.
И да, обилие риторических вопросов - верный признак омегана и лоха по жизни.
314 1418795
>>18794
Мы вам перезвоним. нет
315 1418796
>>18795

>перезвоним


Я дегенератам и веб-дебилам телефон не даю.
316 1418799
>>18796
Так ты и есть веб-дебил и дегенерат с магическим мышлением, лол.
317 1418801
>>18799

>эти проекции физиологически не способного понимать устройств современных ОС олигофрена


Хуево быть тобой.
318 1418803
>>18777
Так на сппконах самые ходовые знания разве нет? Смотрю их. Каждый день по часу занимаюсь.
319 1418804
>>18801
Твои фантазирования действительно невозможно понять.
320 1418805
>>18803

>Каждый день по часу


И с матаном +-0 наверняка.
Земля тебе пухом, буратина.
321 1418806
>>18804

>фантазирования


Оно еще и школьник.

>невозможно понять.


Оно еще и тупой школьник тавтология, хаха
322 1418807
>>18805
А что конкретно нужно знать из матана? У нас за весь курс конкретно матана были дифуры, интегралы, производные и пределы. Где это использовать то?
323 1418808
>>18805
Матан зачем нужен? Я не собираюсь на гейдев галерах пропадать.
324 1418809
>>18807

>дифуры, интегралы, производные и пределы


Хоть что-нибудь помнишь?
Хотя можешь не отвечать.
>>18808
Ясно.
325 1418810
>>18809
Закрыл сессию на отлично, каждую тему разбирал по многу часов. На вопрос ответишь?
326 1418811
>>18809
По существу будешь говорить?
327 1418812
Тред полон школотронов, которые нихуя не знают, но хотят что-то ответить, чтобы показаться умными.
328 1418818
>>18810
Что характерно - на вопрос не ответил.
>>18811
Если надо объяснять то не нужно объяснять.
Жизнь научит.
>>18812
И да, добро пожаловать в МВП тред.
329 1418821
>>18818
Блять я всё помню, это логически следует из моего ответа. Ты то ответишь на вопрос, который тебе уже трижды задали, или дальше будешь жопой вилять?
330 1418822
>>18821

>логически следует из моего ответа


Вообще-то не следует, и в большинстве случаев подобные "отличники" ничего не помнят.

>я всё помню


Тогда малаца, принимается.

>по часу занимаюсь


>каждую тему разбирал по многу часов


Сам себе и ответил.
331 1418824
>>18818
Перетолстил, маня.
332 1418826
>>18818
Ты сам один из этих школотронов судя по постам.
333 1418828
>>18824
>>18826
Два дебила - это сила :3
334 1418830
>>18812
Я просто привык помогать по мере сил. Лучше отвитить неправильно/неточно, чем тред уплывет.
>>18801
И чего такого в новых ос, чего не было до этого?
335 1418832
>>18822
В чего ты взял что тебе один и тот же человек отвечал. Может перестанешь вилять жопой и придираться к формулировкам предложений, а ответишь на вопрос? Жду момента, когда начнутся придирки к запятым и построению предложений
336 1418837
>>18830

>чего такого в новых ос, чего не было до этого?


Практически всё, например.
Можешь сам сравнить те же ДОСы с виндой/пингвином/бздями.
>>18832

>ответишь на вопрос?


Что характерно - самого вопроса так и нет.
337 1418841
>>18837
Ясно, не ожидал жирноту в тематике увидеть,думал просто какой-то чсвшный тип,а тут зеленый в чате по крестам. Ну сиди семени тут, я ушел.
338 1418844
>>18837

>Можешь сам сравнить те же ДОСы с виндой/пингвином/бздями.


Во всем ИТ идеи одни и те же, начиная с 30-х годов. Ничего кардинально нового не было придумано. Только костыли подкладывают для новой аппаратуры и для безопасности.
339 1418849
>>18837

>самого вопроса так и нет


>>18841

>я ушел.


Пиздец ты омежная чмоша.
>>18844

>начиная с 30-х годов


Кодерок на пидорской ленте детектед.
Правильно его замочили, кстати - мало что пидорас и чмо, так еще и как математик говно полное.
340 1418853
>>18849
Школотрон, съеби с треда, плиз. Иди в доту поиграй, или что там школьники любят? Фортнайт?
Тебе пока рано тут сидеть.
341 1418856
>>18853

>плиз


На коленях умоляй, омегарий.
342 1418859

>с 30-х годов



Пиздец. Ты даже для красноглазого треда слишком толстый. Хотя ты даже не троль ведь, просто ебанутый ньюфаг/студентишка.
343 1418864
>>18859
Молодец, можешь взять с полки залупу твоего бати и скурить ее.
344 1418866
>>18859
>>18864
Борьба была равна, боролись два говна.
345 1418870
>>18866
Иксперд по борьбе говен в треде, я спокоен.
346 1418871
>>18610

>Так-то во всяких там qt тоже есть цикл – цикл сообщений.


у тебя ос замораживает поток
потом по событию размораживает его
а цикл сообщений сделан потому чтобы за раз обработать несколько сообщений, если такая ситуация случится
у тебя программа не будет крутить постоянно while(true), это каким надо быть ебанутым чтобы так думать
while(true) - это такой шаблон когда надо в цикле обработать столько сколько ты еще не знаешь надо, а по завершению обработки выйти из цикла по break (как раз это и происходит в случае обработки сообщений)
347 1418872
>>18871

>у тебя программа не будет крутить постоянно while(true), это каким надо быть ебанутым чтобы так думать


Но ведь так делаются все lab1.cpp с менюшками.
348 1418875
>>18872

>эти школооткровения


Держи в курсе.
349 1418878
>>18871

>у тебя ос замораживает поток


>потом по событию размораживает его


Это если ты делаешь в лупе слип или вешаешь процесс на системный таймер.
Просто луп грузит одно ядро на 100%, я проверял, когда некое приближение рт системы на винде изображал.
кро
350 1418880
>>18878

>ядро на 100%


>некое приближение рт системы на винде изображал


То ли дебил, то ли школостудень скорее и то и другое, хаха
351 1418906
>>18872

>while(true)


while(true) это не более чем идиома для обработки в цикле неизвестного количества итераций
в случае с обработкой событий от gui этот цикл нужен лишь по той причине, что когда ос "пробуждает" по событию поток, может произойти еще несколько событий, + когда собственно поток работает, могут прилететь еще события, вот и нужен этот цикл
352 1418920
>>18871
У тебя ОС знает какие кнопочки ты сделал в своем приложении и какие при этом коллбеки вызывать, ага.
353 1418923
Чем можно проверить кот? Наговнокодил либу на 10к строк, напустил на неё шланг-анализатор, что-то пофиксил, теперь он говорит, что всё ок. Какие еще инструменты? (кроме написания юнит тестов вручную)
354 1418925
>>18906

> в случае с обработкой событий от gui этот цикл нужен лишь по той причине, что когда ос "пробуждает" по событию поток, может произойти еще несколько событий, + когда собственно поток работает, могут прилететь еще события, вот и нужен этот цикл


таким образом, если бы

>когда ос "пробуждает" по событию поток, не могло бы произойти еще несколько событий


и

>когда собственно поток работает, не могли бы прилететь еще события


т.е. если бы прилетали события только в то время, когда поток заморожен, то цикл не был бы нужен?

хуйню несешь, школьник тупой. схуяли после разморозки поток начнет новое событие обрабатывать без цикла? разморозка его состояние как-то ресетит? можешь не отвечать.
355 1418926
>>18923
Если у тебя там нет функций на сотню-другую строк - то все нормально.

>кроме написания юнит тестов вручную


Можешь еще написать интеграционные тесты вручную
356 1418928
>>18925

>эта визгливая мелкобуква


Тебе даже ответили исчерпывающе, гнида - >>18920
И не брегливо же было всерьез на этой дебилопараше отвечать, хаха.
357 1418929
>>18928
не вижу ничего кроме твоей шизы на весь тред, хватит постить.
358 1418930
>>18929

>не вижу ничего


Оно еще и слепой дебил.
Даже жаль тебя хаха, жаль - какой я шутник, это что-то
359 1418953
>>18925
у тебя в приложении может сформироваться очередь событий, требующих обработки
по этому там цикл и нужен
но этот цикл НЕ крутится все время работы приложения
когда приложение обработало все события, то главный поток приложения засыпает, вызвав соответствую функцию операционной системы
я специально стараюсь объяснить попроще, буквально на пальцах
360 1418975
>>18953

> когда приложение обработало все события, то главный поток приложения засыпае


А когда просыпается что происходит?
361 1418977
Блядь. Прямо сейчас пишешь while(true) doSmth(). Открываешь, смотришь как загружен процессор. Сравниваешь с любым гуём, который ничем не занят. Убеждаешься, что не всё так просто, иначе не было бы понятия "энергосбережение"
362 1418980
>>18975
просыпается приложение у тебя по определенному событию
НО когда приложение регистрирует свои события в операционной системе, оно указывает для каждого события коллбек - код, на который операционная система передаст управление
чаще всего же это оказывается общая для большинства событий гуи функция, в которой и крутится этот самый несчастный цикл обработки сообщений
363 1418981
на самом деле, это даже элегантно, именно потому что донельзя тупо и никакой магии в этом нет
364 1418986
>>18977
Потому что надо sleep ставить, очевидно. Тебе не нужно дохуя частоты обработки для гуя. Остаётся все тот же самый while внутри.
365 1418989
>>18980

> оно указывает для каждого события коллбек - код


Тоесть после выполнения всех событий и сразу перед засыпанием все дерьмо на стеке умирает, ведь у колбека будет свой стек? Откуда берется тред для выпонения колбека?
366 1418996
Почему ещё никто не залез в исходники того же Qt?
367 1419010
>>18996
Залез
368 1419015
>>18989
В случае приостановки потока его стек сохраняется же.
369 1419016
>>18980

> приложение регистрирует свои события в операционной системе


Ты ебанутый? Нет такого механизма, чтобы зарегистрировать твои ебаные кнопочки в системе. Все делается посредством внутрянки самой библиотеки.
15604134884130.jpg32 Кб, 500x621
370 1419017
>>19010
и чо там??
371 1419018
>>18996
У них там все на унылом while. Я то думал у них там старый добрый goto. Описание ивентлупа:

> Enters the main event loop and waits until exit() is called. Returns the value that was passed to exit().


Сам цикл на 224 строке https://github.com/qt/qtbase/blob/53d62b8fcbb639bd625777c8f1c01764445fb1c4/src/corelib/kernel/qeventloop.cpp
while (!d->exit.loadAcquire())
processEvents(flags | WaitForMoreEvents | EventLoopExec);

d->exit - это QBasicAtomicInt который выставляется в true при вызове exit()
72 строка https://github.com/qt/qtbase/blob/53d62b8fcbb639bd625777c8f1c01764445fb1c4/src/corelib/kernel/qeventloop_p.h

Ищебы найти как именно exit() (ну и ексепшены) обрабатывается но впадло.
372 1419022
>>19018
Ну вот.
А кто говорил, что не бывает циклов, пусть идет нахуй писать хеллоуворлд на winapi. И не возвращается, пока без цикла не сделает.
373 1419029
>>19016
да, так и есть: целевой ос глубоко похуй на кнопочки
что ей от процесса надо (когда он регистрирует событие в системе) дак это куда передать исполнение
касательно гуи тут будет некая разница в том, нативный ли гуй либо приложение (либо фреймвор) сам его целиком отрисовывает
но суть не меняется от этого
374 1419031
>>18989
ну ебать, стек и стек
в стеке же нет никакой магии, просто кусок памяти в виртуальном пространтсве процесса
более того, у процесса может быть аж до 8 системных стеков, между которыми процесс будет переключатся туда-сюда
самое простое, это когда процесс переключается с кернелла (свой стек) на юзерспейс(другой стек), но это вообще простейшие вещи которые должен знать любой крестоблядок
гуевое приложение с активным вводом-выводом вообще большую часть времени выполняется в кернелле
это приложения с вычислительной нагрузкой могут в юзерспейсе сидеть большую часть своего времени
375 1419038
а вообще
эти системы построенные на обработке событий, позволяют рализовывать отзывчивые gui-приложения, но которые при этом выполняют либо интенсивные фоновые вычисления либо интенсивный ввод-вывод
при этом делая это все это в однопоточном режиме
вообще, этим и занимались кодеры на дельфи, на winapi, на mfc, на qt десятки лет уже, все работало

забавное, что текущее поколение кодеров вообще, похоже, не понимает этого
для них типа если у тебя прога с гуем и надо что-то длительно выполнять, то, бля, обязательно надо начать костылить многопоточку
376 1419040
Мелкобуква, хватит плести всякую чушь.
Напиши хоть раз свой примитивный гуй с нуля, и поймешь как оно работает.
377 1419048
>>19040
ну дак как оно работает?
378 1419050
>>19048
В бесконечном цикле чекаешь клики мышью, смотришь куда тыкнуло, вызываешь события, спишь, чтобы не жрать проц, повторяешь снова.
379 1419066
>>18986
А разве пробуждение цикла не синхронизировано с обновлением экрана?
380 1419069
>>18953
понятное дело что он засыпает и не крутится постоянно. но если бы там не было цикла, то что бы он делал, если бы проснулся во второй раз? он бы проснулся и завершился.
381 1419070
>>19050
на уровне прикладного программиста, использующего некий гуй-фреймворк это именно так и выглядит, я согласен
если же попытаться объяснить как это работает уровнем чуть ниже, то настолько простое объяснение не прокатит
382 1419078
>>19070
Высокий уровень на то и высокий, что независим от низкого в общем случае.
Низкий уровень не добавляет ничего принципиально иного. Процессы - это процессы, они просто запущены и делают код, пока он есть; ОС только менеджит их запуски, ни в какие внутренние события она не лезет. Клики мышью - это клики мышью, они не триггярят сами по себе никакие события.
383 1419079
>>19040
если вкратце, когда ос по событию пробуждает твой процесс, коллбек же дожен перейти на какой то код? да? дак вот, переходит то он на функцию содержащую цикл обработки сообщений
в winapi эту функцию чаще всего называют WndProc
те "бесконечный" цикл не будет на самом деле бесконечным
эта функция будет много-много раз выполняться, возможно за раз будет обрабатывать несколько сообщений, именно для этого в ней и нужен цикл
384 1419080
>>19079
те это не тупо один раз запустили цикл в функции и он "живет" все время работы программы
об этом я тут и толкую 10й пост подряд
385 1419081
>>19079
Какое еще событие пробуждает процесс? Ты можешь ответить?
ОС не будет шурудить твой код, чтобы выбрать нужный коллбек. Коллбеки у тебя в либе/приложухе хранятся и она как раз вызывает их, а не ОС.
386 1419092
>>19081
бля, чувак, это таки не так
какой бы высокоуровневый фреймворк ты не пользовал, в самом низу будет парочка системных событий
потому что только ос управляет потоками: останавливает и пробуждает
а когда поток пробуждет ос же надо знать с какой точки кода начать его выполнение, да?
дак вот эта точка входа указывается коллбеком при регистрации события
в качестве точки входа часто как раз оказывается фунция, содержащая главный цикл обработки сообщений, но не всегда
387 1419098
>>19092

>указывается коллбеком при регистрации события


Какой коллбек? Какое события? Кто чего регистрирует?
У тебя какая-то магия вместо объяснения.

При условном sleep ОС забирает выполнение у процесса. По завершению слипа процесс продолжает выполняться с того же места. Все, нет никаких событий.
while (true) {
вызываешь обработку гуя;
sleep(100);
}
388 1419109
>>19098

>По завершению слипа процесс продолжает выполняться с того же места. Все, нет никаких событий.


ясно
все, заканчиваем обсуждение
389 1419114
>>19109
Ты так и не ответил какие такие события заставляют процесс проснуться.
390 1419245
>>19098
Поток в итоге 99.9% времени тупо спит и нихуя не делает. Найс производительность, вам бы в джава тред съебать уебкам, да даже там вас засмеют. Про асинхронность никто не слышал. Сразу видно лето, вкатывальщики пол треда уже засрали.
391 1419247
>>19098
>>19114
Пиздец ты дебил.
Нет, вовсе не толстота - очевидная олигофрения в медицинском смысле очевидна.
393 1419257
>>19249
Зарепортил подпиндосного либерашку.
На Русском давай.
394 1419262
>>18763

>Вот у тебя есть main(){}. Все что делает ОС - последовательно выполняет операции, которые ты в мейне написал. Всё.


Ты серьезно так считаешь? Щитпостинг 80 уровня, просто пиздец.
395 1419263
>>19262
Мать твою ебал.
Репорт.
396 1419268
Может кто то скинет хорошую книгу или статью, и все споры прекратятся?
397 1419291
>>19268
Соси хуй, быдло.
398 1419304
>>19114

>Ты так и не ответил какие такие события заставляют процесс проснуться.


в зависимости от того, как отрисовывает контроллы gui-фреймворк, который ты используешь
под виндой, к примеру
он может использовать нативные контроллы - тогда ос будет просыпать твой поток, "отловив", к примеру, клик по конкретной кнопке, и "пробудив" поток, отошлет ему именно это сообщение
или, если фреймворк сам отрисовывает свои контроллы, то ос будет пробуждать поток просто по наиболее "общему" событию, типа такого "на полотне" приложения что-то случилось, вот тебе тип клика (или нажатие клавиши) и его координаты, а приложение уже дальше само решает что делать и само отрисовывает
399 1419306
>>19304
алсо, в случае нативного gui-фреймворка, в ядре будет зарегистрировано целая куча сообщений от приложения
а в случае когда фреймворк сам отрисовывает - только минимум сообщений
400 1419308
>>19304
>>19306
Пруфы?
401 1419309
>>19306
это в винде в ядре
в линуксе же примерно похоже, но только все это будет происходить на уровне X11 (либо фреймбуфера, либо вейланда)
402 1419310
>>19308
бля, ты ебнутый?
читай windows internals тогда или рихтера если первое не тащищь
403 1419311
повторюсь, никакой магии тут нет
тупо регистрация событий, навешивание коллбеков и прочее
техники прямиком из 70х
404 1419312
>>19310
>>19311
То есть пруфоф нет.
405 1419314
>>19312
ой, все
нет, это блядская магия
в твоем черном ящике сидит маленький эльф и быстро перерисовывает тебе на экран картинки
406 1419318
>>19314

>сидит маленький эльф


Зарепортил оскорбление Президента.
407 1419323
>>13616

> ,что она делает.


> auto _=<::>(auto&_)<%_%=_;%>;



Рвет жопки джунам, очевидно.
408 1419333
Ебанутся, я думал меня уже в говно макнули ответом на вопрос как программу запустить на объектах а тут срачельник устроили по этому поводу что цеклы не цеклы и вообще иди нахуй.

Такое чувство что тут только пхписты с жабаебами в основном сидят. Пойду на стаковерфло спрашивать.
409 1419336
>>19312
Гугли месседжи, каллбэки, корутины, эвенты и прочие диспатч обжекты винды.
410 1419362
>>19336

>месседжи, каллбэки, корутины, эвенты


Ты не кукарекай не по русски а пруфы давай.
Желательно на .рт
411 1419364
Hi
I need simple implementation of ping utility (on ICMP) for my project on clean C++
Can you help me find that
Thank in advance
412 1419368
>>19364
A quick Google search reveals this Linux implementation. Is this what you were looking for?
https://gist.github.com/KelviNosse/930988c7dda1966e164a712fa32dc567
413 1419369
>>19257

>На Русском давай


Also, why u hate some English sources, but don't write code on Cyrillic yet ? Maybe u must use all authentic in this case (software/standards/etc) ? Nope, u cant' ? Well, shut up.
414 1419373
>>19369
Почему только ребята с таким уровнем языка кукарекают про безанглийскаваникуда?
415 1419375
>>19364
Лет ми спик фром май харт.
416 1419376
>>19373
>>19375
Пидоран, please.
417 1419389
>>19369
You had one job...
418 1419395
>>19364

>ping utility (on ICMP)


А пинг бывает не ицмп?
419 1419397
>>19304

>тогда ос будет просыпать твой поток, "отловив", к примеру, клик по конкретной кнопке, и "пробудив" поток, отошлет ему именно это сообщение


Приведи, пожалуйста, примерный кусок кода, которым реализуется регистрация нажатия кнопки гуи в ОС.
420 1419402
>>19397
Вернись в твой тред, говно - >>1419143 (OP)
421 1419403
>>19402
Школьник, иди читай литературу, что тебе задали на лето.
422 1419405
>>19403

>>1419396

>14:14:55



>>19397

>14:17:23



Дегенерат ну совсем не палится, хаха.
423 1419409
Парни, не серчайте, я сисадмин, с гуем работал очень мало (хотя и пишу много скриптов). Хочу приблуду сделать, которой можно мониторами рулить, наподобие arandr. Я так понял, самое простое - это взять Qt и запилить на нём. Но у меня две проблемы:
1. Виджеты какие-то не такие (мне тупо надо несколько прямоугольников нарисовать, где их брать?)
2. Qt Creator очень часто крашится на моей системе (но это ожидаемо). Можно как-то без него обойтись, ну типа как с командной строки GCC компилировать?
424 1419410
>>19409

>Я так понял, самое простое - это взять Qt


самое простое это взять электрон...
425 1419412
>>19410
Не, надо нативным и без зависимостей. Я питон с горем пополам знаю, можно было бы PyQt попробовать, но это полагаться на питон и опять же мне всего-то виджет нужный взять
426 1419416
>>19409
>>19412
Крч я нашёл в Qt Quick Controls то, что нужно.
427 1419418
>>19412

>без зависимостей


>QT


Лул.
428 1419441
>>19418
Ну он в дистрах с гуем практически всегда имеется же
429 1419468
>>19395
Можно на winsock сделоть
>>19375
Приятно наверное всякую такую мемную чушь в голове держать, покрыть нечем, извини.

>A quick Google search


Я общался с гуглом несколько часов на нескольких языках. Мне нужно наипростейшее решение, без мультипотоков, без подключения хуевой горы библиотек от нехуй делоть, без обработки сообщений как там автору заблагорассудилось, тупо пример эхо запроса с выводом, все. Ну и для шинды офк.

>безанглийскаваникуда


Ну так ты уже захуячил все нарусском ? Так неси показывай !

>с таким уровнем языка


Уровнем средней руки америкоса что ле ? Коли мой уровень так низок, подсоби, укажи на недостатки.
430 1419476
>>19468
Максимально базовый пример c WinAPI, для работы нужно будет линковать iphlpapi.lib и ws2_32.lib
https://docs.microsoft.com/en-us/windows/desktop/api/icmpapi/nf-icmpapi-icmpsendecho
431 1419478
>>19468
Твои посты это wordbyword перевод кальки, которую ты придумал на русском. Не знаю что такое уровень средней руки америкоса, но это максимум уровень В1-В2 и способность воспринимать большую часть неформальной речи. Я не могу даже представить себе как ты путая предлоги способен читать тех. документацию по языку, да ещё и наезжать с таким уровнем мол учите английский быдло еп))
432 1419480
>>19468
Из тебя фиговый гугловод, однако.
https://git.busybox.net/busybox/plain/networking/ping.c
433 1419484
>>19478

>Твои посты это wordbyword


Кхм, я все же ожидал более предметной критики. Пример, цитаты, с референсом к конкретным синтакисческим/семантическим правилам. И я и средний американец мыслят и зачастую говорят так как оно появляется у них в голове, не стихами и прозой.
Я не заявляю о владении языком на fluent уровне илитипа того, но и найти здесь (в тройке достаточно простых предложений без времени) что - то изрядно безграмотного немогу.

>Не знаю что такое уровень средней руки америкоса


>способность воспринимать большую часть неформальной речи



>Я не могу даже представить себе


>представить


> способен читать


Кхм, во - первых меньше фантазируй, а то вот это
>наезжать с таким уровнем мол учите английский быдло еп))
как раз - таки выдумака на русском.
Во - вторых, чтение, письмо и прочее немного разные вещи, уж читать при хорошем сл. запасе, и уж тем более если тех. документация из сферы которой ты занимаешься много способностей не надо. Вот 16 времен юзать в хвост и гиву, да.
В прочем, ты меня уже утомил, можешь пойти нахой.
>>19480
Может быть, гляну, пасиба.
434 1419486
>>19484
Да кстати, насчет

>наезжать с таким уровнем мол учите английский быдло еп))


Не ты ли это осуществил, а ?

>с таким уровнем языка


Как бы намекая вот у меня то он вот такой, не то что у тебя. А зачем я это вообще написал, опять же придумав

>кукарекают про безанглийскаваникуда?


ну так чтобы показать им тут всем что

> учите английский быдло еп

435 1419492
>>19484
>>19486
Чувак, хватит рваться, это имиджборда.
Мимопроходил
436 1419535
мимо крокодил
Как правильно подключать С библиотеки при общем использовании крестов?
Подключаю хеадер, добавляю главный исходник библиотеки и ставлю флаги на языки, но линкер выдаёт кучу помоев.
437 1419556
>>19535
Нахуй иди.
438 1419560
>>19535
Что за главный исходник библиотеки?
Тебе надо либо все сурсы подключить в проекте, либо указать в линкере на .lib. При этом в additional include directories нужно путь ко всем хедерам указать.
Возможно еще нужно в extern "C" { } обернуть инклюд.
439 1419566
>>19560

>Возможно еще нужно в extern "C" { } обернуть инклюд.


Вангую это
440 1419568
>>19535
Мб либа скомпилена другим компилятором или его версией, попробуй сам собрать или найти подходящую
441 1419580
>>19560
Пробовал все включать и с порядком разным, сейчас пробую скомпилить отдельно, но линкер всё равно ругается.
Если конкретно, то https://github.com/astrand/xclip
Через мейк собирается, но его понять не могу пока.
>>19568
Нет, проблема в другом.

Сейчас ругается и не видит XrmInitialize и смежные. man XrmInitialize говорит, что лежит оно в <X11/Xresource.h>, но при подключении никакого эффекта.
442 1419589
>>19580
-lX11 и -lXmu решили.
Спасибо Анону, который посоветовал собрать отдельно.
Было подобное в голове, но эти слова заставили делать.
443 1419607
Ананасы, слышал в последних версия языка добавили замену использования __func__ __line__ и прочих переменных, но как она называется. Гугол выдаёт говно старое.
444 1419708
image.png1 Кб, 217x58
445 1419714
Обновил qtCreator и теперь он показывает вот эту F1 при наводке на что угодно. Как отключить? Просто место занимает и глаз мозолит. Уже даже F1 разбиндил, и всё-равно.

Зачем и кому это нужно? Ненормальные что ли?
447 1419982
Кто нибудь настраивал удаленную сборку и дебаг под линукс по ssh в Visual Studio? Как сделать чтобы пробрасывался дисплей в xming?
448 1420000
Я монаду в плюсах запилил! Чёт радуюсь как дитя.
https://pastebin.com/BxGpWfbQ
449 1420008
>>20000
Это не монада.
450 1420009
>>20008
Почему?
451 1420010
>>20008
bind есть, return есть, последовательность функций сохраняется и потом по вызову return(ну у меня это run()) вычисляется значение. Или ты к тому, что функции нечистые, cout используется и тд?
452 1420013
>>20000
Ты б еще препроцессора ебанул туда, вообще Хаскел получился бы.
453 1420014
>>20009
>>20010
Потому что произошел траллинг. Но ты не обижайся - исключительно любя
454 1420015
>>20013
Ну тащемта метапрограммирование на плюсах оче похоже на хацкель, ток с поправкой на то, что типами оперируем, дежавю ловлю постоянно.
455 1420019
>>20014
Аа, ну ладно тогда. А то я читал про монады,
https://ru.wikipedia.org/wiki/Монада_(программирование)
там был пример на джаве и типа сделал на плюсах аналог, но там прямо сразу вычисляется значение, короче вычисление нихуя не отложенное получается, монада же должна именно последовательность вычислений хранить, а не тупо последний результат. Это тупо в общем.
image.png211x61
456 1420032
>>19753
Так подсказки то не так плохи - они показывает родное имя типа хотя бы, а вот зачем добавили уродскую F1 я так и не понял.
На форуме написали, мол это Clang Code Model, я пробовал отключать-включать модули, и никаким образом вот эту всплывающую подсказку так и не смог найти, там уже просто ничего не работает, но F1 оно всё-равно рисует (в тех местах, где всё ещё может вывести подсказку).

Поставил 4.7.2 - и всё заработало как надо. Кошмар просто, поехавшие, только посмотри насколько так минималистичнее.
457 1420060
>>20000

>std::tuple<Args...>


Пиздец.
458 1420087
>>20060
??? А как по другому сделать?
459 1420107
Как в qt подрубить русский язык? Если менять текст лейбла в дизайнере, то все нормально отображается, а если в коде, то вопросы вместо текста.
460 1420117
Ананасы, есть книжка по паттенрнам банда четырёх, везде её рекомендуют.
А по мимо неё есть ещё подобные книжки, желательно связанные с С++?
461 1420120
>>20117
Маерс effective c++
462 1420123
>>20107
Исходник в utf-8?
463 1420124
>>20000
Я давно на этих ваших плюсах не программировал, но у вас что, уже ссылки на функции нельзя делать?
На хуя городить такой злоебучий огород, когда можно просто передавать ссылку на функцию туда, где тебе НУЖНА ЕБАНАЯ ФУНКЦИЯ?
464 1420125
>>20117

>подобные книжки


define подобные
465 1420126
>>20124
У ссылки на функцию конкретный тип, нет какого-то обобщённого типа Функция.
466 1420127
>>20123
Я хз как посмотреть, но в нотпаде конвертировал в utf-8
467 1420165
>>20126
template<typename T> чем тебе не функция
468 1420168
>>20165
T то один, ты сможешь только с функциями одного типа работать. например int(double).
469 1420169
>>20165
А у лямбд вообще тип уникальный для каждой лямбды.
470 1420176
В Chat.cpp не могу обратиться к методу объекта, объявленного в main.cpp. Че делать?
471 1420177
>>20176
Ошибка "Идентификатор не определен"
472 1420178
>>20176
Объявлять всё в заголовочнике и инклюдить заголовочник в майн и чат.
473 1420180
>>20178
Почему не работает если инклудить main.cpp?
474 1420182
>>20180
А можно вообще всё в одном файле писать, что бы таких проблем не было?
475 1420183
>>20180
Никогда не пробовал main.cpp инклюдить, не знаю.
>>20182
Лучше не надо. Пиши в заголовочнике объявление классов и функций, в цппшнике определение их, а в main инклюдь заголовочник.
изображение.png100 Кб, 1366x768
476 1420187
>>20183
Я только сейчас понял что я написал непонятно. Не метод определен в main, а объект, но сделал как вы сказали. Теперь даже ошибку не могу понять
477 1420188
>>20187

>Теперь даже ошибку не могу понять


>class Chat w эцхфьюитьяпидорфгсфдс


Я тоже.
478 1420215
>>20188
В main.cpp есть строка Chat(Класс) w, но Chat.cpp не видит объект w
479 1420221
>>20215
Ты какой-то хуйней занимаешся. Если хочешь продолжать то в Chat.cpp объяви Chat(Класс) w с модификатором extern Но такого быть не должно, тебе стоит серьезно задуматься над своим поведением.
480 1420222
>>20221
Могу описать логику своей бадлопрограммы, а вы скажите в каком месте я дурак скорее всего в любом, но скажите где особенно
481 1420223
>>20221
Я вот хз, он main.cpp в chat.cpp что ли инклюдит, ты пробовал так делать вообще?
482 1420224
>>20223
Я (тот кто вопросы задает) пробовал так делать, но не работает
483 1420225
>>20224
Кстати, сейчас поставил рекорд по ошибкам. Аж 10 шук
484 1420226
>>20224
Я понимаю, что ты пробовал, я вообще не уверен в том, как оно будет работать, extern не extern.
485 1420227
>>20225
Опишу че хочу сделать, все равно делать нехуй.
Хочу вывести сообщение из tcpsocket в plaintext. Забиндил сигнал ReadyToRead или как он там[/spoiler на свой слот, в котором вызываю метод объекта Звучит как то странно, поэтому, пацаны, не бейте, лучше обоссыте
486 1420229
>>20227
Коментируй все кроме пустой main(). Проверяй что компилируется. Потом постепенно раскомментируй стараясь на каждом шаге добавлять как можно меньше строк и компилируй. Ошибки исправляй.
487 1420237
>>20229
Не понял. Зачем? Самая главная проблема в том, что объект не виден в других файлах, кроме того в котором он объявлен. Тут всего одна ошибка о неопределенном идентификаторе выскакивает. Десяток других при попытке исправить одну.
488 1420422
В gcc/mingw есть ключи -mavx2 -msse4 и прочее. Если прописать mavx/mavx2, то быстродействие только падает раза в полтора. Это совсем бесполезная штука, верно?

Как эти расширения использовать, посоветуйте книжку/статью, чтобы цельное представление составить? Как оно с многопоточностью сочетатется, например, есть ли какая-то задержа-загрузка перед первым использованием инструкции из этих расширений и всё в таком роде.
Ассемблерные вставки более-менее умею, но в gcc они довольно уродские, мягко говоря. Ещё увидел в примерах x86intrin.h, который выглядит человечнее.
489 1420441
>>20422
Погугли статьи про векторизацию и автовекторизацию. На счет книг хз какие есть.
Тут по практическому использованию интринсиков есть: https://www.codeproject.com/Articles/874396/Crunching-Numbers-with-AVX-and-AVX
Накладные расходы могут возникать при загрузке/выгрузке данных из регистров, при использовании каких-то хитрых манипуляций внутри регистров. Но при автовекторизации это по идеи сам компилятор должен оценивать.
Плюс сами элементы в памяти крайне важно как расположены. Лучше всего если это линейных массив элементов без пропусков, и выровненный в памяти (aligned_alloc).
Алсо, векторизацию можно комбинировать с распараллеливанием, эти векторные модули на каждом ядре процессора есть.
.png9 Кб, 456x486
490 1420474
Иногда бывает так, что нужно сделать массив типа какой-то структуры (пикрелейтед).
Обычное такое нужно для описания данных для какого-то состояния.
Нужные данные получаю просто по индексу (кастя, например, STATE1 к инту).
Так вот, такое мне кажется не очень хорошим решением. Можно ли это всё как-то сделать иначе?

Как вариант добавить в структуру поле типа этого самого enum class и когда нужно получить данные, то через какой-нибудь std::find_if нахожу нужное.
Можно с помощью map или unordered_map, но это кажется перебором, особенно если этих состояний несколько штук.
491 1420479
>>20474
Нихера не понятно, что ты хочешь делать? Какая проблема при этом?
.png14 Кб, 604x488
492 1420484
>>20479

> Нихера не понятно, что ты хочешь делать?


Строчку 20 переделать на что-то другое.
Два вариант я привёл в прошлом посте.

> Какая проблема при этом?


Проблема в том, что данные в массиве должны всегда идти в строгом порядке (как указано в перечислении).
Легко запутаться в этом и, также, когда решу по каким-то причинам поменять порядок в перечислении, я должен буду менять данные и в массиве.
493 1420488
>>20484

> Проблема в том, что данные в массиве должны всегда идти в строгом порядке (как указано в перечислении).


std::map<State, std::vector<MyStruct>>

> Легко запутаться в этом и, также, когда решу по каким-то причинам поменять порядок в перечислении, я должен буду менять данные и в массиве.


За смену порядка в перечислении обычно пиздят до потери сознания
494 1420490
>>20488
Вектор лишний
sage 495 1420500
При объявлении MyStruct yoba {}, как я понял, компилятор делает memset(&yoba, 0, sizeof(MySturct)). Я могу как-нибудь перегрузить эти скобочки, чтобы вместо мемсета там была моя имплементация?
496 1420501
>>20500
Написать конструктор по умолчанию, лол.
497 1420514
>>20500
В легаси >>20501
а так прописывает прямо в определении структуры.
image.png17 Кб, 527x147
498 1420531
>>20501
>>20514
И что мне вот так для каждой структуры писать? Неудобно и громоздко.
499 1420542
>>20531
Если у тебя там в качестве полей структуры какие-то классы из std, то вызывать для них memset как-то не очень.
500 1420544
>>20542
Почему?
501 1420548
>>20500
Можешь подменить мемсет.
502 1420550
>>20548
Капитан, ты? Как подменить то его?
503 1420551
>>20550
#define memset my_memset
504 1420552
>>20544
Ну, например, в конструкторе (класса std) происходит какая-нибудь аллокация, а ты своим мемсетом затрёшь переменные которые отвечают за размер памяти, указатель и тд.
505 1420561
>>20551
Не будет так работать.

>>20552
И что мне делать?
506 1420575
>>20561

> И что мне делать?


Пиши конструктор по умолчанию или прямо в определении структуры пиши.
507 1420585
>>20561

>Не будет так работать.


Не может такого быть. Перед всеми инклюдами дефайн поставь. Ну или при MyStruct a{} memset не вызывается.
508 1420599
>>20575
Прямо в определение структуры не могу писать, она же не моя.
А у меня выше не конструктор по умолчанию? Ты сказал так не стоит делать.

>>20585
Мне нужно подменить мемсет только в случае обнуления структуры, а не глобально. Это тоже пердолинг получается какой-то.
509 1420606
>>20599
Хз, в голову приходит только подменить stdlib своей с модификацией мемсет.
510 1420609
>>20599
Типа компилятор неявно её использует даже без инклюдов и всего, если запустить с флагом -nostdlb тогда не будет, может ещё какие-то флаги есть, чтобы конкретную функцию выключить из линковки, но я хз.
image.png17 Кб, 480x170
511 1420611
>>20609
>>20606
Короче сделал пикрил, буду тестить.
512 1420621
>>20531

> typedef struct


Кеннеди ещё не убили?
513 1420635
>>20621
Л Е Г А С И
Е
Г
А
С
И
514 1420638
>>20635
Ну и чё бля? Что тебе мешает написать нормально?
515 1420642
>>20638
>>20611
Я написал нормально. Глаза замылил уже?
516 1420644
>>20642
А что у тебя в выделенной строке происходит, знаешь?
517 1420645
>>20644
Вызывается конструктор базового класса. А что?
518 1420658
>>20645
Нет, ты в этой строке создаешь временную переменную, которая сразу же удаляется. Конструктор базового класса будет вызван до входа в тело конструктора. Если не веришь, посмотри ассемблерный вывод твоего говна.
519 1420663
>>20658
Не верю, потому что несколько раз прошелся дебагером по коду, все там нормально. Зачем ты обманываешь меня?
520 1420677
>>20663
Ебанутый, поставь breakpoint в конструктор базового...
521 1420681
>>20677
Сам ты ебанутый. Я степ бай степ и по коду и по асм мапу прошелся дебагером. Тролль ебучий.
522 1420756
>>20441
За статью спасибо, то что нужно, про логику названий, про всё это, а остальное можно вручную проверять и выяснять в конце-концов, что и как быстрее работает.

>aligned_alloc


Хм, его нет. Даже с -std=c++17. А _aligned_malloc треует своего собственного _aligned_free, там прям то же самое, что я уже почти собрался сделать из обычного malloc-а.

>эти векторные модули на каждом ядре процессора есть


10/10, зачем я вообще эту видеокарту мучил, которая хоть и быстрее, но меньше чем охулиард штук считать на ней мало смысла.
523 1420797
>>20681
Я надеюсь тебя уволят. Тебе реально рано ещё программировать.
524 1420816
>>20663

>Не верю


Твое право, но ассемблер и стандарт не обманывают: https://gcc.godbolt.org/z/8knfmF
Если тебя этот код не убедил, то добавь в базовый класс деструктор и сразу все станет понятно.
Ну и да, у тебя очень опасный код: сначала создается объект базового класса веришь ты или нет, а потом ты с помощью SZM все внутренности нахер затираешь. И если в базовом классе происходит какая-либо аллокация, то можно таким образом утечку получить.
525 1420834
Зачем вообще в конструкторе вызывать SZM? Там что-то важное?
526 1420880
>>20834
Обнулить какой-нибудь массив
527 1420889
>>20880
Так там же нет никаких вменяемых данных, нафига плодить лишние инструкции?
528 1420971
>>20644
>>20658
>>20677
>>20816
>>20797
Хватит кормить зелёного.
529 1420996
Помогите нубу.
Пишу бинарное дерево поиска. У вершины есть ключ и указатели на потомков. Дерево строится динамически, понятное дело. Дерево поддерживает поиска потомка по ключу: Tree& find(K key). Далее, хочу написать метод Tree& pop(Tree& node), который выкидывает node из дерева, ставит ему потомков null и возвращает ссылку на него. У меня такое ощущение, что, если я просто сделаю return node, то при запуске чего-то типа t.insert(узел с ключом i); t.pop(t.find(i)); у меня произойдёт утечка памяти. Я прав? Как это обойти? Как это вообще работает?
530 1421012
>>20816

>GCC


Можешь убирать свое говно.
Я тебе русским языком написал, что листинг я смотрел и дебажил 3 раза. Там все работает так, как мне нужно.

Ты даже не вник в суть задачи и лапшу мне на уши вешаешь, найди первое мое сообщение в которой я описал проблему.
531 1421014
>>21012
Зелень, съеби плиз
532 1421020
>>21014
>>20500
Боже, ебанутый. Очевидно, если компилятор по дефолту генерирует memset внутри конструктора, то нет там никаких аллокаций и я спокойно могу пихать свою имплементацию. У тебя с логикой проблемы? Почему я должен слушать Васянов с двача, если я все перепроверил по 100 раз и на стеке аналогичное решение? Или ты тот самый тролль который поселился в треде с начала лета и скорее всего ебаный школьник и всех шлет нахуй?
533 1421039
>>21020
Сука, что ты несёшь, еб твою мать. Какой нахуй memset внутри конструктора, ебливая ты зараза.

> я все перепроверил по 100 раз


Проверялка не выросла видимо.
https://www.viva64.com/ru/examples/v603/

Ты ничтожество, бесполезная биомасса, у тебя никогда ничего не получится, лучше сразу иди в грузчики, не порти чужой говнокод
534 1421208
>>21039
Как же приятно смотреть на то, как бомбанутый школьник мне 2 день с порванной жопой и пеной у рта пытается доказать что-то, хотя я уже давным давно написал код, который полностью правильно работает и удовлетворяет мои требования. Eye candy.
535 1421221
>>21208

> биомасса всё ещё верит в свою полезность

536 1421314
>>20663
Он прав, может быть оптимизация сработала просто, вот ты и не видишь нихуя.
537 1421320
>>21039

> Какой нахуй memset внутри конструктора, ебливая ты зараза


Структуры объектов затираются нулями, чтобы мусора не было.
538 1421546
https://ideone.com/5TVhc3

Как подружить stl с int[4]? Второй блок не компилируется из-за ошибках в шаблонах, если расскомментировать sort. Не вижу никаких концептуальных проблем, структура аналогичного содержания хорошо себя чувствует.
540 1421648
Перекатите тред
541 1422018
Всем времени суток.
Пытаюсь разобраться с winsock, написал простейшую прогу для скачивания страницы, но притэтом она ИСКАЖАЕТ некоторые символы. Это так и задумано тли баг? Как исправить?

Делаю как там: https://stackoverflow.com/questions/31777941/winsock-recv-giving-gibberish-mixed-with-useful-html

Решение которое ему дали, естественно, применил.
542 1422031
>>22018
Что значит искажает? Покажи как в оригинале и твой результат.
Какая-нибудь ебола с кодировкой наверное.
543 1422036
>>22031
Отдельные символы заменяются мусором, каждый раз разные. Почти весь текст html-странрцы загружается верно кроме них. Мусор это нечитаемые символы которые отображаются в браузере как <?>b32<?>. b32 - может быть любое случайное число в hex, необязательно это. <?> это чёрный ромб с вопросительным знаком в браузере, на мэйлаче я вообще хз, будет ли он отображаться, скорее всего нет.
544 1422107
>>22036

> <?>b32<?>


А вместо этого что должно быть?
545 1422137
Сап двач. Есть одна программа. Она на каком то моменте просто перестает что либо выводить в консоль, даже значения переменных над которыми выполняются действия. Программа не может работать настолько долго. Навереное попала в бесконечный цикл. Можно ли средствами visual studio понять в каком месте зарылось колесо сансары?
546 1422151
>>22137
Я понял в чем ошибка. Как сбросить счетчик строк в объекте класса ofstream. Мне нужно чтобы в какой то момент объект начал считывать файлы с первой строки, а не с предыдущей
1561480883069.mp41,3 Мб, mp4,
540x360, 0:20
547 1422158
Какая функция в Qt каждый раз при обращении возвращает рандомное число? Пробовал QRandomGenerator::global()->bounded() и QRandomGenerator::system()->bounded(), одно и то же, генерируется один раз на запуск программы.
548 1422162
>>22158
Я насчет qt хз. C++ вроде не имеет хорошего рандомизатора, поэтому я бы на твоем месте взял псевдослучайные данные из памяти или по времени нажатия на кнопку в силлисекундах
549 1422164
>>22151
Все. Сам все сделал. Вроде. Хотя чет опять не работает. Ну лан.
550 1422165
>>22162
Там есть QRandomGenerator::system() который юзает системный рандомайзер.
>>22158
Так ты seed задай от времени, например.
551 1422166
>>22165
То есть задать сначала seed, а потом курандом как обычно?
552 1422167
>>22166
Ну да.
553 1422168
>>22162

>C++ вроде не имеет хорошего рандомизатора


в stl же есть 6 различных генераторов и что-то около 20 распределений.
554 1422170
>>22167
А seed просто приравнять можно к чему то? Что то не могу в доках qt этот момент найти.
555 1422173
>>22170
QRandomGenerator::global()->seed(QDateTime::currentMSecsSinceEpoch()) или типа того.
556 1422175
>>22173
А чем global от system отличается?
557 1422177
>>22175

>always uses the facilities provided by the operating system to generate random numbers. The system facilities are considered to be cryptographically safe on at least the following operating systems: Apple OSes (Darwin), BSDs, Linux, Windows. That may also be the case on other operating systems.

558 1422180
>>22173
А как ограничить? Мне надо bounded().
Попробовал написать друг за дружкой
QRandomGenerator::global()->seed(QDateTime::currentMSecsSinceEpoch());
int a = QRandomGenerator::global()->bounded(360);
но стало выбивать ошибку при компиляции.
559 1422181
>>22180
Что за ошибка?
561 1422185
>>22183
QRandomGenerator gen(QDateTime::currentMSecsSinceEpoch());
562 1422198
Можно ли посмотреть значение переменной в момент выполнения программы без breakpoint'ов? Вот программа выполняется, я ее на паузу ставлю и смотрю что нужно. Такое возможно?
563 1422201
Вот выполняется у меня программа. Почему она не грузит ни один параметр компа на 100%? Больше всего цп. Всего 70, 30 из которых моя программа. Приоритер высокий. Реального времени боюсь ставить, а то потом комп зависнет.
564 1422217
>>22137
В студии есть кнопка Pause, она делает то, что тебе нужно
565 1422219
>>22217
Break all? Она точно ничего не сломает?))
566 1422222
>>22201
Поставил приотритет реального времени. Комп не лагает. Почему?
567 1422224
>>22219

> Break all? Она точно ничего не сломает?))


А что она по-твоему может сломать?
>>22198
В студии можно бряк поставить, который вместо остановки будет в консоль выводить то, что тебе нужно. Или вручную чем-то вроде printf
>>22201
Выше уже это обсуждали, в сраче про qt
568 1422226
>>22224
Спасибо
569 1422230
>>22222
А программа многопоточная? У меня виснет на отличненько, например.
И занять вообще всю память тоже можно без особых проблем, тогда остальные программы сходят с ума, окна перестают корректно отображать и всё в таком роде.
570 1422234
>>22230

> А программа многопоточная?


Нет, если только компилятор ничего за меня не сделал. НО если в диспетчере задач поставить сходство на одно ядро то оно начинает нагружаться по максимуму (обычно нет), а остальные чуть меньше грузит

> И занять вообще всю память


2 мб весит.
571 1422235
>>22234
Вот блин. Просто с одного ядра на другое переключается. Теперь ясно
572 1422236
>>22234

>Нет


Ну вот потому и не лагает.
Могу предположить, что без "сходства" планировщик поочерёдно перекидывает её на разные ядра, и это выглядит как неполная загрузка нескольких ядер.
573 1422247
>>22107
Одна буква, например, "з". Каждый раз резная. Англоязычные сайты грузятся без багов, вроде бы.
574 1422249
>>22247
Overflow где-то, надо код смотреть...
575 1422299
Поясните мне, почему во втором варианте вывода вместо содержимого файла вываливается какой-то мусор?
http://coliru.stacked-crooked.com/a/237e0f7279c8fb86
576 1422306
>>22249
Код как там, только с испраалением которое ему там же предложили:
https://stackoverflow.com/questions/31777941/winsock-recv-giving-gibberish-mixed-with-useful-html
577 1422313
немного шарю в pb и asm, в С++ нет. Подскажите, что ждёт от меня Студия №15: В строке:

if defined(IDA_SDK_VERSION) || PIN_BUILD_NUMBER >= 76991

пишет ошибку: ОшибкаC1017недопустимое константное выражение целого типа

То есть, вместо || надо And?
578 1422457
>>22299
code.str() возвращает временный объект std::string. В следующей строке кода он уже уничтожен и твой указатель - не валидный.
out2.png88x80
579 1422550
Нужна работа с пикчами. Выбрал opencv.
Обрезка, уменьшение, обесцвечивание, контраст - запилил. Теперь нужно либо сравнить 2 пикчи, либо узнать, что одна из них полностью белая/пустая пикрил.
Хотел сначала в сторону гистограммы смотреть, но эта оказалась весьма непонятная часть.
Может кто что посоветовать? Или курс "запили то же самое без абстракций и либ".
580 1422581
>>22313

>||


Это логическое ИЛИ. && это И.
Попробуй
if (defined(IDA_SDK_VERSION) || PIN_BUILD_NUMBER >= 76991)
если я правильно понял то, что тебе требуется.
581 1422624
>>22550

>Или курс "запили то же самое без абстракций и либ"


Вот это. Белый фон (и любой другой однотонный) делается очень просто, схожесть тоже не слишком сложно, если картинки совмещены. Если же там вращения, светофильтры, смещения и отзеркаливания, то можно сразу пристрелиться.
Не знаю зачем тебе opencv для того что ты перечислил, он для задач посерьёзнее вроде бы - поиск линий/кругов на картинке и всё в таком роде.
582 1422628
>>22313
PIN_BUILD_NUMBER это не число, видимо
583 1422635
Аноны, как писать 3d-графику?
Решил научиться использовать SDL2. С 2d все ясно, а как с 3d? Там есть определенные классы и методы для этого, или же мне надо научиться работать с проекциями и прочей математической магией?
584 1422645
>>22624
Около часа назад вновь пытался осилить bmp/png и после пропала всякая мотивация.
Изображения совмещены.

Попробую хоть Magick++, пока окончательно не уплыл.
585 1422661
>>22645

>пытался осилить bmp/png


А, да, форматы долбанутые, эн/декодер вручную конечно не стоит писать, если ты в самом деле пытался это сделать. Даже в простейшем bmp рутина унылая с разными битовыми форматами. Когда-то давно для загрузки файлов (текстур для opengl) я DevIL/OpenIL использовал и он нормально работал, сейчас под виндой вовсе через gdi+ загружаю, а это совсем дно.
Я имел ввиду, если тебе нужно массив пикселей обрабатывать на уровне поиска фона/сравнения совмещённых картинок, то вряд ли тут нужны библиотеки для обработки массивов пикселей.
А форматы очень сложные, это немного другая область и нет никакого смысла их писать, для них совершенно точно почти на 100% нужна либа - форматы то одни на всех, какой-то специфический вряд ли потребуется, в отличие от специфической обработки пикселей.
586 1422665
>>22635

>или же мне надо научиться работать с проекциями и прочей математической магией?


Вот это. Не знаю насчёт sdl, но в glu были наглядные человеческие функции, по типу разместить камеру в таких-то координатах, с таким-то направлением и таким-то углом обзора. То есть если нужен схематичный вид в виде линий и точек, то можно и не вникать - но если будешь писать шейдеры с отражениями и тени, отсекать невидимые объекты с помощью объёмных деревьев, делать какие-то костные анимации, то тут совсем никак без проекций и другой линейной алгебры.
587 1422732
>>22661
Слышал, что stb_image хорошая вещь для чтения bmp/jpg/gif, но сам не пробовал.
Мимопроходил
588 1422761
>>22581
>>22628
Спасибо огромное! Вы оба правы. Всё скомпилилось!!!
п.с. какое-же всё-таки дерьмецо эта Студия - никакой совместимости! Разные СДК, компили, заголовки... Да просто держать три версии студий (13, 15 и 17) чтобы компилить "почти без проблем" это более сотни гигов диска надо!
1561579207073.mp4415 Кб, mp4,
362x640, 0:15
589 1422840
Аноны, есть класс QWidget в Qt, и внутри него есть всякие функции и глобальные переменные. Я хочу некоторые функции, типа открытия файлов, вынести за пределы кувиджета в отдельные хедеры, но эти функции привязаны к некоторым глобальным переменным.
Например, открытие файла привязано к названию файла, ширине файла, длине файла (это картинка), глобальным мапам с пикселями.
Что делать, как можно решить проблему? Перечислять все глобальные переменные в параметрах функции очень не хочется.
590 1422844
>>22840
Возьми что-то другое, зачем в говне колупаться?
591 1422845
>>22844
Что значит что то другое?
592 1422849
>>22661
Один знакомый наоборот клялся, что это как семки щёлкать :c

Собственно, перешёл за пару часов на magick++ и реализовал прошлое и новое, но вновь уткнулся в стену, ибо встал вопрос о поиске по темплейту, чего API не предусматривает.
593 1422852
>>22845
То, что решит твою задачу без лишнего геморроя, при условии что ты эту задачу сформулируешь.
594 1422853
>>22852
Я поэтому и спрашиваю, как это решить без геморроя.
595 1422859
>>22849
Угу, именно поэтому во всём мире полтора видеоэнкодера vp9, да и к изображениям по три с половиной, который скорее всего копируют какую-нибудь открытую библиотеку в большинстве своём.
Там же в коде все жадные алгоритмы сжатия, двумерные фурье-преобразования, особенности человеческого зрения и так далее. Это нужно быть очень крутым спецом (и иметь кучу информации), чтобы написать это на достойном уровне или ещё большей занудой, чтобы вычитывать спецификации/документации и ремейкать то же самое в своём коде.

Что такое поиск по темплейту?
596 1422860
>>22853

> открытие файла привязано к ширине файла


Ебанутые problems require ебанутые solutions.
597 1422871
>>22860
Отменный english
598 1422963
>>22840

>Я хочу некоторые функции, типа открытия файлов, вынести за пределы кувиджета


Ты какой-то наркоман, откуда там открытие файлов?

Асло пилите уже перекат.
599 1423133
>>22859
Ну, благо такие люди есть и пишутся новые кодеры для какого-нибудь AV1.

>Что такое поиск по темплейту?


Поиск по шаблону, но обошёл это наведением курсора самостоятельно.

Бтв, сырой проект закончен, без кроссплатформенности и с уймой костылей.
600 1423213
>>22860
Ты картинку в raw формате по другому не откроешь. Даже в фотошопе перед ее открытием запрашивается ширина, высота, битность и т.д.
601 1423214
>>22963

> , откуда там открытие файлов?


У меня программа, которая является экземпляром класса QWidget. Функцию открытия файла я сам писал. Но так как я ее часто использую при создании следующих программ, я решил, что проще будет вынести ее в отдельный файл и подсоединять потом, когда понадобится.
602 1423217
Уже изобрели что-нибудь лучше cmake?
603 1423219
>>23217
make.
604 1423508
Перекат пилите, содомисты
605 1423512
cmake peraqat.cpp
606 1423526
>>23213
Объясни плиз что такое ширина файла и причём тут raw-снимки
607 1423528
>>23526
Ширина в пикселях.
608 1423531
>>23508
Зачем? Пока не потерли
609 1423532
>>23531
Утонем же.
610 1423547
>>23528
Какие пиксели? По-твоему всё в пикселях хранится?
611 1423571
>>23547
Ты вообще в курсе, как устроен raw-файл?
Это по сути одномерный массив байтов.
613 1425236
>>15678
Страуструп - Программирование. Принципы и практика использования С++
читай здесь для начала
Тред утонул или удален.
Это копия, сохраненная 24 июля 2019 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски