Этого треда уже нет.
Это копия, сохраненная 2 мая 2021 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
2 1914206
co_await bump();
3 1914216
>>14169 (OP)
Начинаю учить C++ в новом треде!
изображение.png2 Кб, 202x147
4 1914233
А почему компилятор не позволяет так сделать? Хотите сказать, что переменные инициализируются во время рантайма?
5 1914238
>>14233
По стандарту размер массива должен быть constant expression
6 1914239
>>14233
это Variable Length Array, опасная вещь с кучей подводных камней.
Специально в языке запрещено - погугли.
7 1914240
>>14239
в Сишечке он в стандарте, в С++ расширением GCC вроде
8 1914246
>>14239

> Variable


А почему Variable Length? В предыдущей строчке четко определенное значение. Или это защита от нулевой или отрицательной длинны?
9 1914248
>>14246

>В предыдущей строчке четко определенное значение


Определённое в рантайме.
Может поменяться пока дойдет до инициализации массива
10 1914250
>>14246
твоя переменная не constant expression, как пчел выше написал.

если ты сделаешь constexpr int x = 5; то все заработает
11 1914346
Чё как исключения?
12 1914364
>>14346
юзаю в проде, полет нормальный. А почему ви спгашивается?
13 1914412
>>14346
Летят через рутины персональности, раскручивают стек
16067457472380.jpg10 Кб, 194x270
14 1914729
>>14169 (OP)
Вопрос со звёздочкой, для экспертов
B{}
X:B
{}
Y:B
{
fy(B*)
}
Я компилирую (X, B) => x.dll, потом (Y, B) => y.dll, загружаю и то и другое
завожу себе X ix;
будет ли работать по понятиям
fy(&ix)?
15 1914736
>>14729
да, если есть правильные хелеры в проекте, который подцепляет твою дллхуйню
16 1914739
>>14233
Потому что ты в седьмой строке кода пытаешься объявить статический массив на стэке, размер которого должен быть известен во время компиляции. Почитай о том, как функции выглядят в ассемблерном листинге и вообще пойми что есть стэковый фрейм, размер которого тоже предопределен заранее, то бишь во время компиляции.

Господа крестовики, учите ассемблер, тогда подобные вопросы вообще не будут возникать.
17 1914744
>>14736
Чё?
Отступы по размеру совпадают, этого недостаточно?
1604428569013.gif574 Кб, 404x493
18 1914751
>>14169 (OP)
Вопрос номер 2, для волшебников
Есть class X соурс которого доступен, он компилируется в dll и загружается в программу.
Как вычислить все адреса инстансов X?
19 1914754
Что должен уметь джуниор с++?

Изучаю с++ уже больше полу года, планирую в конце этого года искать работу на 3-4 месяца(Я студент, хочу немного опыта набраться)
20 1914767
>>14754
Связанный список сможешь реализовать? Без гугла и подсказок
21 1914833
>>14739

> быть известен во время компиляции


Ну так значение переменной уже известно во время компиляции.
22 1914855
>>14751
Никак. Если все инстансы на куче, то можно как-то затрейсить через LD_PRELOAD и свою реализацию маллока (найти все аллокации величиной с этот класс), но это скорее верный способ отстрелить себе не то что ногу, а пах.
23 1914910
Используют ли direct x или vulkan для отрисовки графики в программах, например что для этого использует приложение steam?
24 1914915
>>14910
двощую интересный вопрс
25 1914926
>>14910
Например все что на современном qt использует метал/вулкан/директ/опенгл автоматом.
26 1914935
>>14910
WPF, как мне помнится, всё на директиксе рисует.
27 1914947
>>14767
Как он узнает что это такое без гугла?
28 1914976
>>14855
Класс можно модифицировать, можно ли в его начале поставить поле с каким нибудь уникальным значением, а потом искать по всей куче все такие значения если нашёл значит следующие sizeof байт сам класс?
29 1914995
>>14744
Это UB
30 1915002
>>14976

>Класс можно модифицировать


Сделай тогда регистрацию/дерегистрацию инстансов на конструкторе/деструкторе в каком-нибудь глобальном списке.
31 1915003
>>14995
mingw64 компилятор
32 1915018
>>14947
А книги кто читать будет?
33 1915088
>>14833
Проблема в том, что ты можешь изменить значение этой переменной в рантайме, а это нарушает все вышенаписанное. Объяви x константой и это заработает.
34 1915091
>>14767
Блять, ты рофлишь? Еще бы попросил реализовать калькулятор, который умеет только в сложение и вычитание. Это умеет делать любой обоссаный даун, который неделю знаком с программированием.
35 1915142
>>14910
Вообще, по-сути, ты можешь эти апи использовать для реализации, если очень хочется офк, но по сути, dx, vulnan opengl, всё это лишь функции передающие точки/шейдеры на граф ускоритель и в данном случае логичнее использовать апихи которые под это уже прям конкретно заточены
https://www.youtube.com/watch?v=bgckX62f4EA
вот тут достаточное описание пайплайна
36 1915159
>>15142
Чёт кекнул с "учебного пособия".
37 1915168
>>14767
Ты дурак??? Списки вообще-то в питоне а это плюсотред!!!
38 1915373
>>14754

>джуниор с++


с++17, структуры и алгоритмы, писать и говорить на english, social skills
39 1915391
>>15373

>структуры и алгоритмы


Что это значит? Знать, какие контейнеры в стл есть, на чем они реализованы и какая сложность у операций?

>с++17


Ничего не значит. Нормальный разраб может у тебя бесконечно глубоко что-то спрашивать, пока ты не обосрешься.
40 1915421
>>14754
Всё зависит от предметной области, но знать как работают сокеты и как сделать простой беспонтовый чатик используя select/poll/epoll почти везде полезно.
41 1915443
>>15391
Ну да, просто спрашиваешь чем auto_ptr отличается от unique_ptr и смотришь, как кандидат начинает нервничать.
42 1915444
>>15443
Я никогда не работал с auto_ptr откуда мне блять знать

Мимо-сениор-помидор
43 1915448
>>15444
Вы нам не подходите.
sage 44 1915497
>>15443

>auto_ptr


Мне гугл говорит, что он в cpp11 деприкейтед и в cpp17 удалён.
45 1915548
>>15159
Не, ну а что, если чел задаёт подобный вопрос, то как на него ещё отвечать ?
46 1915588
>>15548
OpenGL red book
47 1915596
glBegin(GL_TRIANGLES);
glVertex3d(0.0, 1.0, 1.0);
glVertex3d(1.0, 0.0, 1.0);
glVertex3d(1.0, 0.0, 0.0);
glEnd();
48 1915599
>>15497
MSVS 2019 компилит auto_ptr без проблем.
49 1915605
>>15596
Это залёт, боец.
50 1915624
>>15443
Прямо сегодня отвечал на это, бтв
image.png34 Кб, 1054x414
51 1915640
>>15599
А ты 17ый стандарт поставь
52 1915670
>>15640
Ты в своём 17 стандарте у шаблона забыл аргумент указать.
std::auto_ptr<int> p;
p.reset(new int(6));
image.png8 Кб, 331x190
53 1915674
image.png9 Кб, 285x203
54 1915679
>>15674
Так чем отличается auto_ptr от unique_ptr? И почему его убрали из стандарта?
55 1915744
>>15679
В языке не было мув-семантики, поэтому поведение при копировании (единственной тогда операции) было как при муве.
56 1915798
1. Хочу вернуть из метода или функции список или массив каких-нибудь значений, как правильно возвращать? Обязательно ли использовать темплейты, или можно вернуть условно std::vector<MyObject>?
2. Хочу передать массив, список и т.д. в функцию или метод, как правильно передавать? Раньше принимал итераторы, но там геморроя как-то многовато, нужно использовать темплейты. Принимать std::vector<MyObject> не стоит, вдруг пользователь захочет передать вещи из другого контейнера.
57 1915799
>>15798

> или можно вернуть условно std::vector<MyObject>?


Да

>Принимать std::vector<MyObject> не стоит, вдруг пользователь захочет передать вещи из другого контейнера.


Итераторы
58 1915803
>>15799
Спасибо!
1611090795.png29 Кб, 530x266
sage 59 1915853
Ананасы, как в QT рисовать в цикле? Задача проста, у меня есть массив, в который из другого треда поступают данные, я написал функцию которая в while цикле проверяет длину массива, и если она больше 0 то рисует. Но Если ее запустить в основном треде, то она его блокирует, а из других нельзя рисовать. Как быть?
60 1915888
Вопрос qt-водам, что производительнее для 2д игры: qtwidget, qraphicsscene, qtquick? Сцена это надстройка над виджетом и вряд ли даст бафф в фреймрейте. Кьюик где то читал по умолчанию open gl использует но можно ли в нем кодить как виджет. QML вряд ли даст возможности реализовать толком всякие анимации итд.
61 1915892
>>15888
Алсо, коллизии не важны. Только рендеринг растровой хуйни около 20-40 объектов
62 1915898
>>15853
Я недавно учу кресты но по аналогии с питоном должен быть специальный механизм для обращения к одному ресурсу с двух потоков. Типа мютекса.
64 1915905
>>15898
Неа, такого ниет(
Я в итоге решил через вызов этой функции по таймеру через сигнал, но это так себе решение.
65 1915907
>>15903
Да, это видел, но update хуево работает, очень не регулярно.
66 1915908
>>15907
В чем это выражается?
67 1915913
>>15908
В том что он вызывается только когда просиходит какая то интеракция с гуем, например ты навел мышкой на окно. Если Убрать с гуя фокус и ничего не делать, то апдейт не происходит, видимо в целях экономии. Я по аналогии с игровыми движками пытался найти fixedUpdate, который вызывается каждый кадр например или еще как то привязан, но такого нет. С другой стороны таймер через сигнал позволяет вызывать функцию с жесткой привзякой к времени и из основного треда, что в общем то мне и надо.
69 1915926
>>15919
Не пробовал, честно говоря, судя по описанию воможно он бы и сработал.
С другой стороны,

> Warning: If you call repaint() in a function which may itself be called from paintEvent(), you may get infinite recursion.


если какой нибудь addLine вызовет ее сам, то получим трудноуловимый дедлок, что тоже нахуй не надо.
70 1915929
>>15926
Таймер с нужным разрешением и вызываешь update c timerevent другого способа я не знаю. Алсо на вин 7 вроде как при сворачивании таймер останавливается. На 10 и линуксах продолжает работать.
72 1916143
Сап, аноны. Есть у меня dll, который нужно запустить через exe. Как это можно реализовать ?
73 1916147
>>16143
Подгрузить в рантайме заранее неизвестную dll-ку? Через LoadLibraryA и GetProcAddress какие-нибудь.
74 1916239
Хочу любой (существующий) путь разбирать на путь до файла и сам файл, соответственно. C++, <filesystem>, жизнь должна быть прекрасна.
[code]std::filesystem::path fullpath;[/code]
[code]std::cout << fullpath.relative_path().remove_filename();[/code] // здесь по моим ожиданиям должен быть путь до директории
[code]std::cout << fullpath.filename();[/code] // тут я ожидаю увидеть только имя файла.

Но когда я делаю
[code]filepath = std::filesystem::current_path();[/code]
fullpath.relative_path().remove_filename() возвращает мне путь к родительской папке моего рабочего каталога вместо пути к рабочему каталогу, а
fullpath.filename() вместо пустой строки возвращает мне название моего рабочего каталога.

Я неправильно пользуюсь <filesystem>? Чего я не осознаю?
75 1916254
>>16239
Что c++ не для тебя
Что filename это то, что написано после последнего /\
Т.е. папка d:\laba считается файлом и после remove_filename останется d:\
76 1916268
Итт есть те, кто заставлял себя учить плюсы? Что из этого вышло?
77 1916277
>>16268
700к в месяц вышло.

Что ты имеешь ввиду под заставлял? Если тебя не прет то, чем ты занимаешься - то шансов вкатиться немного.
78 1916303
>>16277

> Что ты имеешь ввиду под заставлял?


Медленно продвигаюсь в обучении, приходится себя буквально заставлять прочитать какой-то урок или главу. Приятнее писать что-то своё, что интересно, а не реализовывать класс для общественного туалета из книги с методами среньк и пук. В итоге в очередной раз пишу что-то уровня змейки на sdl, пропуская теорию, получается говнокод, незнание синтаксиса (до сих пор не понял многих квалификаторов), стандартной библиотеки и ещё много всего. Как бы есть понимание, что нужно сначала всю базу освоить, Майерса там навернуть и потом уже садиться своё писать что-то, но невтерпёж это всё.
79 1916304
>>16303

>В итоге в очередной раз пишу что-то уровня змейки на sdl, пропуская теорию, получается говнокод, незнание синтаксиса (до сих пор не понял многих квалификаторов), стандартной библиотеки и ещё много всего.


Нормальная тема, я первую книгу прочитал после 5 лет опыта коммерческой разработки
80 1916308
>>16304
А собес как прошёл?
81 1916311
Вот вводится у меня граф в програму. Индексы вершин могут быть до 10^9 по величине, хотя самих вершин до 10^4. Чтобы не хранить огромную матрицу смежности я решил с помощью map индексы вершин конвертировать. Например пусть у меня подаются на вход вершины с индексами 1 10 1342232, а станут 1 2 3. Но map ужасно долгий. Прям ужас. Как это сделать быстрее?
82 1916312
>>16308
Рассказал про свои поделия, скромненько так, описал, что умею пока мало, но стремлюсь.
На следующие работы конечно уже более красиво попадал.
83 1916314
>>16311
unordered_map?
84 1916321
>>16312
А какие поделия были, если не секрет?
85 1916322
>>16303
Самое важное, как раз - писать код. Пиши его. А теорию можешь понемножку читать.
86 1916323
>>16311
sparse matrices
87 1916327
>>16303
змейку написал - прочитал книжку - написал змейку с классами, в чём проблема?
Читая только книжку не научишся. Пять лет в разработке без книжек тоже не самый умный вариант, конечно.
Опенсорс пытайся, чужой код читать очень надо.
88 1916338
>>16321
Просто рассказываешь про курсачи. У меня был сапёр -> приложуха для расчёта стоимости перевозок (смесь задачи о коммивояжёре и о назначениях) -> приложуха для расчёта портфеля ценных бумаг (линейное и квадратичное программирование). Писал не на плюсах. Когда на работу взяли, учил язык с нуля (мейерса, страуса и прочих читал уже потом, причём по диагонали).
89 1916354
>>16314
>>16323
Спасибо
90 1916406
>>16239
exists()
потом is_directory()
а потом уже, если надо - remove_filename()
91 1916455
>>16143
Rundll может быть
92 1916456
>>16455
Для него специальная сигнатура функций нужна.
93 1916492
>>16321
Попытки в собственный высоконагруженный udp-сервер, наброски game-engine, всякие хуки для игр, чтоб рендерить дополнительную информацию поверх игрового окна (на основе прочитанной памяти процесса), ну плюс пытался в реверсинг по мелочи. Ну и змейки с крестиками-ноликами (с мультиплеером) и тетрисом тоже писал.

В принципе всё это тогда было говнокодом, но всё равно опыт, о котором можно было рассказывать. Любой опыт подойдет.
unnamed.jpg38 Кб, 512x392
94 1916513
Есть ли те, кто совмещает C++ и Android? Или в одном проекте, или и в нескольких небольших в рамках одного. Как это выглядит, где применяется, какие навыки нужны, какие плюсы и минусы? Имею опыт и плюсов (Qt, сеть), разработки приложения на Android, думаю, стоит ли пытаться совмещать или лучше забросить что-то из этого.
95 1916518
>>16513
Qt может компилироваться под Андроид.
96 1916538
>>16513

> минусы


Те, кто пробовал, пишут про скудность крестов на андроиде, мол, как только требуется хоть малейшая кастомизация, выходящая за рамки стандартного, сразу приходится возвращаться к джава-мирку.
97 1916630
>>14169 (OP)
Есть path/name.lib, какую опцию дать компилятору, чтобы вклюичл её в билд
98 1916698
>>16513
Qt как по мне лучший фреймворк для кроссплатформенных мобильных приложений. Но лучше не потому что крутой, а потому что остальные хуже и нативка тащит
99 1916701
>>16630

Компилятору - никакую. А линковщику можешь дать. На чём хуяришь, вижуальная или линукз?
100 1916714
>>16701

> .lib


Вижуалка же у него.
101 1916719
>>16714
А, точно. Чет туплю))0

Ну тогда видео с индусами нужно смотреть
102 1916726
>>16701
>>16714
>>16719
мне нужно подсунуть mingwу чужой код с модификацией.
уже нашёл что -l, просто я его не в том порядке подавал.
это странно, здесь в папке лежит name.lib который IDA воспринимает как AR [archldr_zip64.dll] и выдаёт мне какой то список COFF ов. По идее эта name.lib должна экспортировать методы, но компилятор их не находит. Зато находит в name.dll из другой папки. Что это за AR?
103 1916748
>>16726
Я нихуя не понял, но видимо тебе нужно скомпилить dll как static link library и потом полученный lib файл передать с ключом -l. Сейчас у тебя lib файл это не сама либа, а её бинарный интерфейс.
104 1916757
>>16726
Либо линковщик не может найти определения из-за того, что у тебя в либе экспорт делается без extern "C". Если так, то гугли как сделать demangle (вроде какими-то ключами компилятора можно убрать декорирование из определений).
105 1917044
Насколько сложно вкатиться в программиста рендера/графического программиста? Из тех историй что я нагуглил, люди сначала работают обычными C++ девами, потом идут в геймдев работать над геймплеем или движком, и только после этого уже заходят в такую максимально узкую сферу как рендеринг. Это так?
106 1917053
>>17044
Вакансий на рендер мало, желающих много, особенно среди школоты и студентоты.
Простые задачи рендера уже давно никому не интересны - написана куча движков. А для решения сложных задач тебе придётся копить опыт начиная с с++ тугосерьки или через макакинг на других языках.
107 1917066
>>17044
Вообще никак практически.
В российских реалиях - это такой мем. У нас буквально есть пара компаний, кто разрабатывает собственные движки. И даже там - разрабатывают хуету полную и никаким ресерчем там не пахнет.
А из-за таких вот вкатывальщиков наивных, у тебя еще и зп будет ниже, чем по рынку и будешь половину времени тесты писать.
Максимально безблагодатное дело с пидорашкинским отношением, жалею, что потратил время на такую парашу.
catping.jpg19 Кб, 280x508
108 1917206
>>14246
Ребята, сделайте себе одолжение, не начинайте учить плюсы не ознакомившись на хорошем уровне с сишечкой.
Огромное количество проблем и недопониманий связаны с тем, что вы кидаетесь в сложные дебри, не разобравшись как все это работает на базовом уровне.
C Primer Plus (Prata):
Note VLAs Do Not Change Size
The term variable in variable-length array does not mean that you can modify the length of the array after you create it. Once created, a VLA keeps the same size. What the term variable does mean is that you can use a variable when specifying the array dimensions when first creating the array.
109 1917237
>>16698
>>16538
>>16518
А по поводу NDK, переписывания частей кода на плюсах и сишке для оптимизации мультимедии или игр что-нибудь знаете? Как часто это используется?
110 1917277
>>17206

>не ознакомившись на хорошем уровне с сишечкой


А до сишечки нужно изучить ассемблер?

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


Какие ещё дебри в статическом массиве? Ладно бы они с выводом типа ебались.
111 1917296
>>17277

>А до сишечки нужно изучить ассемблер?


Нет. Си достаточно низкоуровневый чтобы разобраться с базовыми понятиями, и вместе с тем, достаточно высокоуровневый чтобы собирать программы из концептуальных блоков.
Идеален для обучения программированию.
112 1917305
>>17277

>Какие ещё дебри


С++.
Это сложный язык, оперирующий сложными понятиями. По вопросу выше о массивах можно с достаточной точностью предположить, что вопрошающий слегка не шарит в базовых понятиях. С++ не лучший выбор для изучения базовых понятий, блоков и структур ЭВМ.
Так понятно?
113 1917313
>>17296
Кнут с тобой не согласен. Алсо ИТТ изучают язык программирования, а не программирование как явление.
114 1917314
>>17206

> не ознакомившись на хорошем уровне с сишечкой


Путь адекватного человека выглядит так: пишем пару лет на машинном коде, ещё пару лет на ассемблере, полгода сишечку и можно свой первый класс идти реализовывать. Конечно же перед этим всем не забываем подтянуть устройство ОС, архитектуру ЭВМ, элементарную компьютерную, цифровую и аналоговые схемотехники, ну и конечно же теорию электрических цепей и теорию передачи информации, ведь как можно что-то писать, если мы даже не знаем как этот бит формируется. По пути желательно повторить кодирование информации и при желании шифрование. Перед ассемблером ещё нужно алгоритмы и структуры данных тоже повторить, без них никак. Конечно, если ты не заканчивал вуз по специальности прикладная математика, то и все дисциплины оттуда тоже захвати. Без этого в такие дебри как плюсы лезть не советую.
115 1917317
>>17313

>Кнут с тобой не согласен.


Ты скозал
Пиздец. Просто пиздец.

> Алсо ИТТ


Ты прав, я случайно сюда зашел. Я начал с программирования, а потом перешел к крестам.
116 1917318
>>17314
Уровень аргументации итт
117 1917320
>>17314
Вот этот прав.
Это мотивация уровня:

>А ЧТО БУДЕТ ЕСЛИ Я НАПИШУ ВОТ ТАКУЮ ВОТ ХУИТУ?


>Зачем ты хочешь написать хуету?


>НЕ НУ ПРОСТО А ЧО БУДЕТ-ТО ЕСЛИ НАПИСАТЬ ХУЕТУ? ЧО НЕ ЗНАЕШЬ? НУ ТАК ТЫ БЫДЛО ИДИ НА ГОДБОЛТ ДРОЧИ АССЕМБЛЕР

118 1917330
>>17317
Ну я то, в отличии от тебя, книги Кнута по программированию читал и не заметил там ни С ни C++. Если брать вузовское академическое образование, где обучают программированию, то там преподы тоже стараются рассказывать на каком-нибудь псевдоязыке. И только на практических занятиях, которые нацелены на изучения языка, уже да, можно увидеть код. Причём язык зависит от предметной области, на которую ты учишься.
119 1917347
Нихао епты,есть одна лаба, есть ли тут желающие заработать копеечку и сделать её мне. Вот условие,напишите сразу свою цену
P.S похуй кто сделает,супер кодер или такой же студент,главное чтобы зачли

Описать структуру с именем TRAIN, содержащую следующие поля: название пункта назначения; номер поезда; время отправления. Написать программу, выполняющую следующие действия:

1 ввод с клавиатуры данных в массив, состоящий из шести элементов типа TRAIN;

2 записи должны быть упорядочены по времени отправления поезда;

3 вывод на экран информации о поездах, направляющихся в пункт, название которого введено с клавиатуры;

4 если таких поездов нет, выдать на дисплей соответствующее сообщение
120 1917360
>>17347
Ты заебала со своими TRAINS, Даша.
121 1917374
>>17347
Кто-то реально не может такое написать?
jSp4zwqTvn0.jpg45 Кб, 600x283
122 1917382
>>17360
Да ты заебал,я шлюхой буду,я не хочу делать программирование,а ты посмотри,во сколько оценивают эту работу
123 1917383
>>17374
Да,я не могу
124 1917386
>>17347
https://pastebin.com/giAWbvW5
Сортировать по формату времени осилишь? Остальное это красивости при выводе, там понятно должно быть даже по такому говнокоду.
15575086478840.jpg134 Кб, 930x1153
125 1917404
>>17386
Не осилю :(
Как,если в крации,сделать?
126 1917423
>>17404
https://pastebin.com/RDGWf1aT
С тебя булочка с маком.
127 1917430
>>17423
А мог бы получить вареник.
128 1917433
>>17430
С рыбной начинкой?
sage 129 1917441
>>17433
Какой же ты пидорас, блять.
130 1917451
>>17423
Целую в щёчку няша
131 1917521
>>16277

> 700к


В своем стартапе?
132 1917531
>>17521
В нвидии же.
fishing-subway-train-isolated-cartoon-vector-illustration-1[...].jpg152 Кб, 1600x1689
133 1917545
>>17441
Вот это подрыв
sage 134 1917547
>>17545
Иди нахуй, даун.
135 1917549
>>17521
>>17531
Охуительные истории. Нвидия в Москве это же рабская помойка, с которой все ливают. Или это так раньше было?
136 1917561
>>17549
Почему только nvidia? Прочие подобные конторы тоже потогонка, особенно азиатские.
15938882789181.gif830 Кб, 240x240
137 1917563
>>14169 (OP)
какой быстрый минимальный протокол над udp, чтобы гарантировать доставку? QUIC - это то?
138 1917568
Если у string_view отсутствует \0, то как тут вычисляется длина строки https://wandbox.org/permlink/5R5ToqXjA8v6JLGB ?
139 1917572
>>17568
string view это pointer и size
140 1917573
>>17568
Notes
Unlike std::basic_string::data() and string literals, data() may return a pointer to a buffer that is not null-terminated. Therefore it is typically a mistake to pass data() to a routine that takes just a const CharT* and expects a null-terminated string.

Короче, у тебя ub
141 1917577
>>17568
argv это массив null-terminated строк, поэтому strlen нормально отрабатывает
142 1917580
>>17577
Хорошо, а если в f просто передать "hello123"? Или там уже компилятор видит строку и как-то там внутри изъёбывается подставляя длину?
143 1917588
Константные ссылки используются где-нибудь или они просто есть, чтобы были? Ссылка же единожды биндится и изменить её нельзя
int k = 2;
int& const ref = k;
144 1917598
>>17588
Не существует
145 1917606
>>17580
Строковый литерал "tralala" тоже zero terminated строка.
146 1917619
>>17598
То есть а) и b) возможно, а с) также не существует?

const int k = 2;
a) const int *const p = &k;
b) const int &ref = k;
c) const int &const ref2 = k;
147 1917635
>>17580
В общем случае компилятор ничего не определяет, потому что ты создаёшь объект в рантайме. Если в конструктор передаётся указатель на строку без /0 в конце, то поведение не определено.
148 1917641
Есть ли возможность отследить, что мув вернул левую ссылку вместо правой? Например от конст референса. Тру стори, нашел копирование вместо мува из priority_queue.top(). Хотелось бы узнать где еще такое в коде может быть.
149 1917644
>>17619
c) тоже валидно и эквивалентно b). Константная ссылка нужна для инстанцирования шаблонов, при этому самостоятельно руками её писать не нужно.
150 1917667
>>17644
Спасибо.
152 1917703
>>17644
c) НЕ валидно.
153 1917735
>>17703
Студия компилит без проблем. Кидает варнинг, что квалификатор отбрасывается, что вполне логично.
154 1917754
стасян, нераздуплю какая сигнатура будет у функции, которая аргументом бы получала референс array произвольной длины, и возвращала бы такой/тот же array обратно.

тривиальный неправильный пример:

array<uint> buble(array<uint> &foo){
return foo;
}
155 1917758
>>17549
про раньше не знаю - сейчас лучшее место всея ДС
156 1917767
>>17758
Ну хз. Они раньше ресерчем занимались и всё-равно народ валил стремительно, а сейчас вообще вакансии выкладывают с каким-то фулл-стак вебом и разработчиками тулзов и гуишек.
Ты знаешь кого-то, кто там работал/работает не очень давно?
157 1917770
>>17735

>Студия компилит без проблем.


Аргумент охуительнее некуда.
158 1917771
>>17770
добро пожаловать в разработку к серьёзным людям.
159 1917775
>>17771

> к серьёзным людям


Это как говорить, что если в студии инкремент INT_MAX даёт INT_MIN, то никакое это не UB.
160 1917897
>>17767
я там работаю лул. Тулзы и гуишки в тегру набирают, а веб - во все на свете. Офис за 3 года вырос в 2 раза по headcount'у, хз кто там валит откуда
161 1917908
>>17770
От тебя аргументов вообще не было. Пруфы давай, балабол.
162 1917909
>>17897
Адекваты валят, вкатыши копятся.
163 1917916
>>17909
щас бы валить от золотых кандалов, которые ползарплаты дают.
164 1917924
>>17916
Там как в госконторе 10к оклад и 40к "золотая премия"?
165 1917944
>>17897
Расскажи, там рейтрейсингом каким-нибудь занимаются? Так, что не байты дрочат на gpu, а прям алгоритмами занимаются? Ресерч вообще какой-то есть или нет?
166 1918009
Как возвести большое число в квадрат? Число 10^15. Ull 10^19 вроде. Есть какие то хитрости?
167 1918013
>>18009
Расхерачь на множители, хуй знает. Но это аутизм в любом случае. Как ты его хранить-то собираешься, если тебе не хватает размера у типов?
169 1918037
>>18009
>>18013
>>18016
Ой ой ой. Забыл дописать. По модулю конечно же. Модуль влазиет.
170 1918042
>>18037
Без задней мысли просто берешь и умножаешь. Только чтоб
переменные unsigned были.
171 1918047
>>18042
Так нет же. Сначала случится переполнение, а потом я буду брать модуль не понятно чего
172 1918051
>>18047
Переполнение беззнакового это как бы и есть модуль по 2^Х.
Если нужен другой, надо сначала оба множителя взять по этому модулю.
173 1918066
>>18009
Числа умножаешь как 64х64 в 128 бит. Это три умножения. Редукцию по модулю сможешь ускорить, если модуль красивый (степень двойки - маленькое число). Иначе хз.
174 1918070
>>18066
Иначе — преобразование montgomery domain
Можно очень быстро считать
175 1918170
вещи, необходимые с возрастом: палка для почесывания спины
176 1918171
>>18009
решение частной проблемы требует общего решения
в данном случае нужно воспользоваться средствами (способами либо готовыми библиотеками) для длинной арифметики
177 1918172
>>17897

>я там работаю лул


предположу что ты тот самый "вкатыш"
будь честен на анонимной доске - ведь у тебя нет ни профильного образования, ни опыта работы до этой позиции
178 1918174
>>18172

>ведь у тебя нет ни профильного образования, ни опыта работы до этой позиции


Ты так говоришь, как будто это что-то значит
Если ты особенный, как я, то важно только желание и мозги
image.png498 Кб, 700x465
179 1918181
>>18174

>Если ты особенный


я - нет, но почти!
180 1918206
Анон давай совет.
Изучаю С-плюсы, вообщем, все по кайфу. Может пойду в С# потом, может нет. Так вот, вопрос у меня следующий:
1)Нашел годный курс по С++ и по итогу там идет создание игры-приложения(same game) на ебаном MFC.
Начал гуглить эту, смотрю инфы мало и на форумах пишут - что MFC это неповоротливый устаревший зверь, не еби себе мозг написанием приложений с помощью этих библиотек.
Но я хочу реализовать на С++ какую-нибудь простенькую игру или приложение. Так что мне делать? идти сразу в C# так там проще и быстрее. Или есть какие еще варианты?
181 1918210
>>18051
Модуль 10^16. Число 10^15. При возведении в квадрат 10^30 и переполнение.
>>18066
Спасибо
182 1918216
>>18206
Либо готовый 2д движок, либо qt, где ты просто в изображение рендерить будешь всё.
Во всякие opengl даже не пытайся, если ты там на уровне днищекурсов каких-то.
183 1918225
>>18216
то есть начать с qt, а потом уже в opengl?
184 1918234
>>18225
Какой ты хочешь функционал? В qt ты можешь просто взять натянуть изображение на формочку и хуячить туда змейку или что-то еще, просто с руки меняя пиксели.
Если ты хочешь 3д, то opengl, но для этого нужно на с++ уже хорошо писать. Если ты какие-то там курсы смотришь, то ты скорее всего пока что слишком слаб для opengl. Ну и вообще это сомнительный карьерный путь - дрочить opengl.
185 1918252
>>18234

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


почему? ты про то, что если меня интересует работа с графикой, то opengl не самый лучший вариант? или ты другое имеешь ввиду
да я с++ в целом то нормально знаю, сложностей для меня тут нет.
186 1918267
>>18252

>если меня интересует работа с графикой, то opengl не самый лучший вариант


Нет, для графики opengl/directx норм. Но вкатиться в такое суперсложно, особенно без образования.
Если ты не восторженный начинающий чел, а уже точно решил, что будешь заниматься графоном, то окей, хуячь opengl.
Иначе - подумай дважды.
187 1918278
>>17382
Настолько все плохо с одногруппниками?)
188 1918285
>>17382
Если ты будешь платить мне, я смогу делать тебе некоторые задания
189 1918294
>>18267

>особенно без образования


какое тут еще образование то надо?
кодинга не достатчно чтоли?
что там еще емое знать надо.
понятно, что математику и тому подобное я знаю
190 1918360
>>17924
400к оклад и пачка акцией ежегодно, которые в среднем капают по 300к в месяц на руки

>>17944
Да, есть команда которая занимается именно рейтрейсингом, но, вестимо, это небольшой кусок штатовской команды

>>18172

>будь честен на анонимной доске - ведь у тебя нет ни профильного образования, ни опыта работы до этой позиции


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

> а образование не нужно.


спасибо за честность, но ч.т.д.
192 1918461
>>18457
чел, я не знаю, что ты мне пытаешься доказать. Лычка Senior есть? Есть. Зарплата есть? Есть. Проекты, которые мне дают лидить есть? Есть.

Образование ни в чем из этого не роляет, всему можно научиться самому.
193 1918481
>>18225
Анон, попробуй SFML лучше, можешь даже исходники почитать и разобраться, там сверхсложного ничего нет и в случае чего можешь свои хедеры типу вектора2д писать, конкретно под свои задачи. Для базового GUI можешь ImGUI взять, тоже легко достаточно встраивается в SFML и с ним работает отлично. Вот тебе и готовый набор для грейда своих скиллов, где ты будешь реализовывать исключительно логику, а свой GUI тебе в любом случае пилить придётся немного, если меню будешь делать. Параллельно ещё шейдеры зацепишь точно, а через них в OpenGL на базовом уровне разберёшься и успеешь даже распареллить это всё.
НО, если тебе нужно конкретно приложение, с выпадающими меню там, списками, текстовыми полями и прочим говном, то бери Qt. Но конкретно изучать его как-то смысла нет, там формошлёпка в основном через хорошо описанную документацию, где примеры покрывают 90% задач.
194 1918492
Сап двач, работаю на госпомойку, пишу говнокод на Qt. Есть ли смысл продолжать изучать Qt или лучше учить чистые плюсы (в т.ч. буст)? Смотрел год назад по hh в Москве, большинство вакансий было в таких же госпомойках с пределом в 80к рублей.
195 1918496
>>18492
изучать надо всегда чистые плюсы, СТЛ, и прочее. Это базис для всех работ.
196 1918545
>>18496
Ну вот при изучении STL и новых стандартов плюсов я сталкиваюсь с тем, что в Qt это уже все давно реализовано, в некоторых случаях даже удобнее. Приведу тривиальный пример: зачем мне знать, как работает std::vector, если у меня есть более удобный QVector (или QList, если похер на расположение элементов в памяти)?
197 1918554
>>18496
Тут чел выше советует SFML. С ним реально закреплять знание чистых плюсов или лучше дальше задачки с выводом в консоль решать? Что-то с графикой должно интересней быть.
198 1918572
>>18554

>С ним реально закреплять знание чистых плюсов


Конечно
199 1918577
>>18481
спасибо тебе няшка, держи печеньку.
можешь тогда дашь еще совет, после того как я грубо говоря изучу базовый курс С++ (а я его уже изучил, сейчас повторяю основыне моменты) так что мне следует начать изучать дальше?
у меня по курсу дальше идут:
1)OpenGL
2)CFML
3)Qt5
4)RegExp и т.д.
Если ты меня спросишь, а чего я сам хочу?. я не знаю, ну наверное отвечу банально - какие-нибудь игры. я не могу точно сказать, так как я ничего сложного и серьзного еще не кодил, а всякие сортировки массивов, рекурсии и т.д., вещи конечно полезные но...
200 1918594
>>18545

>зачем мне знать, как работает std::vector


Там нечего знать, берешь и пользуешься
201 1918606
>>18545

> пришел на проект без qt


> пук, среньк

202 1918660
>>18577

> базовый курс С++


Для начала, что такое базовый курс?

> что мне следует начать изучать дальше?


C++, C++ и C++. Поверь, тем для изучения там много. А что делать параллельно уже сам решай, ниже подробно опишу.

> 1)OpenGL


Заходишь на learnopengl.com, проходишь пару туториалов - зашло, продолжаешь, нет - дропаешь.

> 2)CFML


Берёшь и сразу пишешь по примерам, там всё максимально просто описано в документации. Можешь ещё туториалы глянуть. Если не знаешь как лучше всю эту дрянь в ООП-стиле оформлять, заходи на гитхаб и читай чужой код.

> 3)Qt5


Будешь как анон выше -> "зачем мне знать, как работает std::vector, если у меня есть более удобный QVector".

> 4)RegExp и т.д.


Сразу нахуй и даже не вспоминай.

Анонче, если тебе нужно изучать чтобы да кабы, то душные темы тебя только к дропу подвинут поближе. Вот прямо сейчас скачай UE4 и сделай что-то на блюпринтах по туториалам, потом тоже самое перепиши на крестах. Сами кресты не забрасывай только, попиши всякого на SFML или SDL2 (лучше первое), задачки на алгоритмы порешай, Мейерса почитай, развлекайся с пользой в общем, вариантов много, зазубрить книгу на 1300 страниц с первого раза никому не удавалось, а оно в принципе и не надо.
203 1918684
>>18206

Если хочешь писать именно простенькую игру, а не приложение, к qt лучше не прикасайся. SMFL, что тебе советовали, норм тема. Если хочешь еще больше фана, то попробуй raylib, правда либка сишная, но это не сильно страшно.
изображение.png22 Кб, 937x425
204 1918707
А это точно удобно?
Это на полном серьёзе асм-инструкция выдаёт результат как си-код в 3/4 столбцах и умные дяди разрабатывающие процессоры решили именно такую логику в области нуля сделать?

Есть адекватный способ получить равномерные 0-1-2-0-.. в остатках без особых костылей вроде приведённого мной?
205 1918725
>>18684
А это нормально что-то брать из туториалов и доделывать? Хочу запилить свои шахматы, нашёл на ютубе видео на эту тему с кодом, который можно ещё с десяток раз улучшить и на классы разбить. Или прям с нуля нужно пытаться делать?
206 1918746
>>18707
a%b == r <=> a == (a/b)*b+r
Отсюда и отрицательный r при отрицательном a. То есть это просто побочный результат выполнения целочисленного деления, который решили сделать оператором языка.

>А это точно удобно?


Я и не помню, когда приходилась делать modulo от отрицательных чисел, так что это вообще не проблема.
207 1918782
>>18545

>зачем мне знать, как работает std::vector


Ты ещё и не начал учить С++, а уже обосрался.
изображение.png32 Кб, 933x764
208 1918815
>>18746
Но для питоновских результатов указанные тобой правила соблюдаются тоже.

>когда приходилась делать modulo от отрицательных чисел


Да по идее постоянно, намного чаще вот эта фигня, где mod выдаёт 5 нулей, а выше и ниже по 1 единицы.
Я рисую сетку координатную, и нужно каждую десятую линию нарисовать жёлтым. Так там из-за этой фигни клетки на 1 съезжают с другой стороны координатной оси, нужно abs лишний ставить.

Иначе говоря, ты сможешь назвать хоть одну задачу, где требуется си-поведение, а питон-поведение не подойдёт? Мне что-то ничего в голову не приходит.

>так что это вообще не проблема


Да понятно что можно свою функцию поставить и хуй с ним со стандартом языка, но цикличные остатки от 0 до n-1 были бы в разы логичнее и не ясно почему хотя бы на уровне асм-инструкции так не сделали.
209 1918843
>>18360

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



Блять, вот ты разговариваешь ирл с людьми, кто там работал - и все говорят, что оттуда съебали в ужасе и работают сейчас в сильно менее престижных компаниях, что как-бы намекает на то, что они не пиздят. Люди с топовым образованием, которые годами жестко дрочат предметную область. Которые несмотря на это рассказывают, что там супер сложные собесы, где нужно знать всякие детали нвидевских архитектур и что почти нереально вообще туда прийти просто так с хедхантера. Рассказывают, что это жесткая галера, с постоянными жесткими переработками, где люди на управляющих позициях специально перекидывают тебя с проекта на проект, чтобы ты в их технологиях очень сильно не разбирался и так далее.

А потом приходишь на двач, в тред, где 95% постеров - это студенты, спрашивающие хуету и отвечающие хуету И ВДРУГ читаешь охуительные истории, диаметрально противоположные тому, что слышал.

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


Блять, да будь ты в несколько раз хуевее того, что ты рассказываешь о себе, ты бы всё-равно даже не сидел бы тут. А если бы и сидел, то точно не писал бы хуету про мне лидить проекты дают ряя сасать. Я не представляю, каким нужно быть имбецилом, чтобы заниматься таким.
В конце концов, там проекты-то можно по пальцам посчитать. Даже анон с двача смог бы тебя сдеанонить и набить ебало возле офиса. Так что просто съебни нахуй, старина, делай там свои лабы с закрытым ебалом и не пиши хуету в тред.
210 1918861
>>18843
Так он ирл с людьми не разговаривает!
Точнее, люди с ним.
211 1918892
>>18843
да мы давно выяснили что ему повезло оказаться в нужный момент, а другие задроты в нвидиа втихаря угорают с него
какой из него cpp программист, он там тупо visualstudio настраивает чтобы проэкты лучше собирались!
212 1918911
>>18815

> Да понятно что можно свою функцию поставить и хуй с ним со стандартом языка, но цикличные остатки от 0 до n-1 были бы в разы логичнее и не ясно почему хотя бы на уровне асм-инструкции так не сделали.


Инструкция тут не при чем (скорее всего, остаток на константу считается умножением). Это традиционное поведение из 70-х, когда делали как проще.
213 1918951
>>17044
Только по большому везению. Ибо, как и сказали, у нас полторы конторы занимаются чем-то таким. И из них ещё большая часть - чистый гейдев, где работать можно только из большой идейности или если ты ультимативный сеньор-помидор с тайными знаниями. В остальных случаях - зп ниже средней, переработки как норма. Ну и отзывы берешь: сабер - уебки, варгейминг - уебки, и так далее.
Похоже, единственная норм контора - юниджайн, ибо не геймдев, а движло пилят. Меня оттуда, конечно, попросили, ибо слишком говнокодер оказался, но пока был в офисе успел атмосферу понять. Тут можно и всю жизнь спокойно вджобывать - задачи интереснейшие, уровень разрабов высокий, контора небольшая и отношение нормальное.
Подытоживая: геймдев - зашквар, хочешь чем-то околографическим заниматься - ищи неигровые продукты типа тренажеров, картографии, всякой хуерги для визуализации данных.
214 1918955
>>18461
Паша Дуров получил образование и стал CEO. А тебе выше тимлида не светит.
215 1918962
>>18951

>сабер - уебки


вот это плюсую

>юниджайн


Двигло используется аналоговнетами, так что да, работа там будет всегда. Зп там выше рынка не получишь, так что тоже проходная контора.
216 1918974
>>18951
Это он про ДС2. В мааскве дела получше будут.
217 1918981
>>18974
Наоборот вообще-то. В ДС есть только гайджины и мейлру. В обоих местах занимаются говном точно так же с переработками и инфантильными дебилами в лицах коллег.
218 1919265
>>18981
Я не про гейдев, а про места, где делают графений.
219 1919330
>>18843
рофлю с этого фантазера, который с кем-то поговорил.

Ну, задеанонь, только такие стены зависти не пиши.
220 1919331
>>18981
Сабер, кстати, у мейлру иногда подряды берёт. Хотя не только он у московских бояр побирается.
221 1919402
>>19330

>у, задеанонь, только такие стены зависти не пиши.


Окей, готовь ебало. Во вторник у Марьиной Рощи тебя ждут пиздюли, щегол.
222 1919600
>>19402
Договорились
223 1919689
>>19402
>>19600
Соберу братву из отдела алгоритмов Яндекса + из кружка по спорт программированию, подъедем на ё-мобилях поясним вам обоим, опущенцы ебаные, за 20 стандарт
224 1919743
>>19689
вы состоянии за переворот строки только пояснить, петушки
деанон kunaifusu 225 1919847
Пришлось просмотреть журнал с самого начала, с 2003 года.
Удалось зацепиться вот за это (его читатель намекнул на игрушку Mercenaries)
https://kunaifusu.livejournal.com/116882.html

Далее все было просто. И вот здесь было такое ощущение, как будто забрался
в синагогу и прочел тайное имя бога. Т.е. видно было, что чел прошареный,
но такого не ожидал.

Нашелся некто Basil Milanich, выпускник МГУ (про МГУ в журнале где-то упоминалось).
В 2012-2020 годах в Sony ICE team - это что-то вроде внутренней группы сони-экспертов
в составе Naughty Dog, привлекаемых для допила блокбастеров. Есть в кредитсах практически всего,
что выходило хитового на сони в указанные годы. Недавно ушел в HFT.

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

https://www.apollo.io/people/Basil/Milanich/5d2ff29ef1c4cd0c665a617a

Вот, например, упоминания о релокации в Висконсин (Human Head Studios, 2010-2011)

// Wisconsin
https://kunaifusu.livejournal.com/375489.html
https://kunaifusu.livejournal.com/382244.html
https://kunaifusu.livejournal.com/388504.html
https://kunaifusu.livejournal.com/426699.html

Одно время имел более приличный бложик https://bmilanich.wordpress.com/
Он, оказывается, немножко лиспанутый. Некоторые постинги развивают на записи из основного журнала, например

https://kunaifusu.livejournal.com/243772.html
https://bmilanich.wordpress.com/2011/09/25/breaking-the-speed-of-c/
деанон kunaifusu 225 1919847
Пришлось просмотреть журнал с самого начала, с 2003 года.
Удалось зацепиться вот за это (его читатель намекнул на игрушку Mercenaries)
https://kunaifusu.livejournal.com/116882.html

Далее все было просто. И вот здесь было такое ощущение, как будто забрался
в синагогу и прочел тайное имя бога. Т.е. видно было, что чел прошареный,
но такого не ожидал.

Нашелся некто Basil Milanich, выпускник МГУ (про МГУ в журнале где-то упоминалось).
В 2012-2020 годах в Sony ICE team - это что-то вроде внутренней группы сони-экспертов
в составе Naughty Dog, привлекаемых для допила блокбастеров. Есть в кредитсах практически всего,
что выходило хитового на сони в указанные годы. Недавно ушел в HFT.

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

https://www.apollo.io/people/Basil/Milanich/5d2ff29ef1c4cd0c665a617a

Вот, например, упоминания о релокации в Висконсин (Human Head Studios, 2010-2011)

// Wisconsin
https://kunaifusu.livejournal.com/375489.html
https://kunaifusu.livejournal.com/382244.html
https://kunaifusu.livejournal.com/388504.html
https://kunaifusu.livejournal.com/426699.html

Одно время имел более приличный бложик https://bmilanich.wordpress.com/
Он, оказывается, немножко лиспанутый. Некоторые постинги развивают на записи из основного журнала, например

https://kunaifusu.livejournal.com/243772.html
https://bmilanich.wordpress.com/2011/09/25/breaking-the-speed-of-c/
напоминаю 226 1919850
... Стотья и каменты в хакерньюз доставляют.
Пока Кармаковские кракозябры (это кодом назвать сложно, разве что в смысле "код Да Винчи") продаются и вызывают ахи и вздохи хипстеров я на хлебушек смогу заработать...

... Кармак же, со своим программированием на уровне шестиклассника ...

... Там куча проблем с перформансом и с логикой ...

https://kunaifusu.livejournal.com/467799.html

... Кармака наняли потому что народ, далекий от индустрии, считает его ацки умным visionary в нашей области. Все что я знаю о Кармаке это: он не верил в shadowmaps и боролся с ними как с бесперктевным алгоритмом (в 99.99% игр сейчас используют shadowmaps), он в развное время писал код для люминографа, вокселей и прочей хуйни, он написал "мегатекстуру" и рекламировал ее лет 5, пока все не увидили игру на ней. Каких либо других достиженей я за ним не припомню. ...

https://kunaifusu.livejournal.com/531766.html

... У меня большая уважуха к этому поцану. Растянуть полдюжины шареварных платформеров в карьеру "Гуру 3Д" - никому больше не удавалось...

https://kunaifusu.livejournal.com/487221.html
разное, интересное, нашел сейчас 227 1919856
Тут мне в другом посте рассказывали про то как не хочут писать код для GPU из за того что нужно писать многопоточно и я сначала не понял вообще о чем речь. Только потом до меня дошло, что у песишных программистов есть такая серьезная профессиональная деформация.

Дело в том, что орхитектура х86 (да и остальные более или менее популярные архитектуры от Интела) никогда не поддерживала многопоточность. Даже убогая двухпоточность на некоторых процессорах спрятана от программиста и используется для симуляции двух процессоров в одном. Все тысячи тредов, что Виндуз показывает в таск менеджере - это никакие не потоки, а самые настоящие процессы. Многопроцессность там есть, многопоточности - нету.

Разница простая - процессы это сущности ОС и живут они по правилам ОС, а потоки - это сущности CPU и живут они по правилам CPU. Например, я хочу написать программку, распечатывающую файл с диска на принтере. CPU не знает нихрена ни про какие файлы, ни про диски и, тем более, про принтеры. Тут мне многопоточность не поможет. Тут как раз работа для многопроцессности - в одном процессе буду читать файл а в другом печатать, между ними - пайп построю и будут они ждать файл, принтер и пайп так замечательно, что пока один процесс ждет, другой может какую-то работу делать. А вот захочу я перемножить пару матриц - тут наоборот, ОС нихрена про матрицы не знает, за то процессор знает все и про память, и про кэш и про ALU. Тут надо бы запустить кучу потоков, чтобы каждый считал свой элемент произведения. Большая часть будет будет висеть ожидая кэша, а пока они ждут - другие работают. Принцип многопоточного программирования простой - все циклы заменяем потоками. На каждую итерацию цикла - поток.

Но на х86, конечно, так не получится. В лучшем случае там можно отрастить процессов по числу ядер и каждым считать часть матрицы произведения. Что, конечно, не rocket science, но принципиально сложнее тривиального многопоточного алгоритма. И, главное, из за накладных расходов на создание и синхронизацию процессов, медленнее тупого последовательного алгоритма для достаточно маленьких матриц. Вообще, для любой задачи, не связаной с доступом к объектам ОС, создавать больше процессов чем ядер нельзя, потому что производительность просрется на дележ одного процессора между несколькими процессами. Да и с оптимальным числом процессов можно обломиться - процесс вещь тяжелая и дорогая, чтобы его запускать по любому поводу.

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

https://kunaifusu.livejournal.com/530022.html
разное, интересное, нашел сейчас 227 1919856
Тут мне в другом посте рассказывали про то как не хочут писать код для GPU из за того что нужно писать многопоточно и я сначала не понял вообще о чем речь. Только потом до меня дошло, что у песишных программистов есть такая серьезная профессиональная деформация.

Дело в том, что орхитектура х86 (да и остальные более или менее популярные архитектуры от Интела) никогда не поддерживала многопоточность. Даже убогая двухпоточность на некоторых процессорах спрятана от программиста и используется для симуляции двух процессоров в одном. Все тысячи тредов, что Виндуз показывает в таск менеджере - это никакие не потоки, а самые настоящие процессы. Многопроцессность там есть, многопоточности - нету.

Разница простая - процессы это сущности ОС и живут они по правилам ОС, а потоки - это сущности CPU и живут они по правилам CPU. Например, я хочу написать программку, распечатывающую файл с диска на принтере. CPU не знает нихрена ни про какие файлы, ни про диски и, тем более, про принтеры. Тут мне многопоточность не поможет. Тут как раз работа для многопроцессности - в одном процессе буду читать файл а в другом печатать, между ними - пайп построю и будут они ждать файл, принтер и пайп так замечательно, что пока один процесс ждет, другой может какую-то работу делать. А вот захочу я перемножить пару матриц - тут наоборот, ОС нихрена про матрицы не знает, за то процессор знает все и про память, и про кэш и про ALU. Тут надо бы запустить кучу потоков, чтобы каждый считал свой элемент произведения. Большая часть будет будет висеть ожидая кэша, а пока они ждут - другие работают. Принцип многопоточного программирования простой - все циклы заменяем потоками. На каждую итерацию цикла - поток.

Но на х86, конечно, так не получится. В лучшем случае там можно отрастить процессов по числу ядер и каждым считать часть матрицы произведения. Что, конечно, не rocket science, но принципиально сложнее тривиального многопоточного алгоритма. И, главное, из за накладных расходов на создание и синхронизацию процессов, медленнее тупого последовательного алгоритма для достаточно маленьких матриц. Вообще, для любой задачи, не связаной с доступом к объектам ОС, создавать больше процессов чем ядер нельзя, потому что производительность просрется на дележ одного процессора между несколькими процессами. Да и с оптимальным числом процессов можно обломиться - процесс вещь тяжелая и дорогая, чтобы его запускать по любому поводу.

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

https://kunaifusu.livejournal.com/530022.html
228 1919858
>>19856
Какие-то ужасные каменты написали люди, непонимающие разницу между процессом и потоком. Но в общем не их это вина - Майкрософт придумала свои "потоки" чтобы не травмировать тонкую индусскую душу fork()ом и выросшие на этом программисты даже не подозревают, что там внутре течет и куда.

Процесс это контекст с точки зрения ОС - там лежит все чтобы выполнять программу: PC, стек, намапленая память и прочия дескрипторы. Поскольку ОС сейчас все многозадачные, они, естественно, умеют переключаться между этими контекстами. Переключение между процессами на одном PU - процесс долгий и тяжелый, но и необходимый, так как в целях безопасности сама ОС является процессом и любой ее вызов вызывает такое переключение. Виндовые "потоки", как и посиксные pthreads это просто шорткат для создания процессов, в основном отличающихся только стэком и PC.

Поток это контекст с точки зрения процессора. Поскольку процессор куда проще ОС, ему много не нужно - там лежат регистры включая PC, стэк, намапленую память и всякие внутренние состояния. Переключение между потоками ничего не стоит. Можно хоть каждый такт переключаться, что обычно и происходит в многопоточных процессорах. Т.е. если мы запустим два потока, состоящих из NOPов, то каждый будет выполнятся как будто он единственный поток на процессоре с половиной частоты. Однако с нетривиальными потоками все гораздо интереснее. Встретив инструкцию, которая требует ожидания какого-то условия (например ждет данные из памяти) процессор просто перестает переключатся на этот поток, пока условие не выполнится. За счет этого несколько потоков одновременно выполняются быстрее чем они же последовательно за счет сокращения времени простоя процессора в ожидании памяти. Естественно, что такое поведение многопоточного процессора не повторить на однопоточном никакими ОС и никакими явами. Программными средствами невозможно переключится из зависшей в ожидании инструкции.

Долгое время ждущих инструкций в микропроцессорах не было. Инструкции всегда что-то делали и не ждали без толку. Только в 90х годах прошлого века появились процессоры с асинхронной памятью и инструкции стали ждать память. Но вместо того, чтобы просто сделать Пентиум многопоточным, Интел, наученный горьким опытом с 486ым (который был медленее 386 на коде, оптимизированом для 386), пошел по "суперскалярному" пути. А то какой-нибудь Дворак запустил бы свой любимый Word 5.0 на новом Пентиуме и не увидел никакого ускорения, было бы нехорошо. С точки зрения абсолютной производительности, суперскалярность/OOE даже рядом не стоит с многопоточностью/SMT, однако позволяет ускорить однопоточный код, единственный важный критерий для Интела в то время. Опять же, наверное тогда думали, что память скоро догонит процессоры и это только временная проблема, хе-хе.

https://kunaifusu.livejournal.com/531119.html
228 1919858
>>19856
Какие-то ужасные каменты написали люди, непонимающие разницу между процессом и потоком. Но в общем не их это вина - Майкрософт придумала свои "потоки" чтобы не травмировать тонкую индусскую душу fork()ом и выросшие на этом программисты даже не подозревают, что там внутре течет и куда.

Процесс это контекст с точки зрения ОС - там лежит все чтобы выполнять программу: PC, стек, намапленая память и прочия дескрипторы. Поскольку ОС сейчас все многозадачные, они, естественно, умеют переключаться между этими контекстами. Переключение между процессами на одном PU - процесс долгий и тяжелый, но и необходимый, так как в целях безопасности сама ОС является процессом и любой ее вызов вызывает такое переключение. Виндовые "потоки", как и посиксные pthreads это просто шорткат для создания процессов, в основном отличающихся только стэком и PC.

Поток это контекст с точки зрения процессора. Поскольку процессор куда проще ОС, ему много не нужно - там лежат регистры включая PC, стэк, намапленую память и всякие внутренние состояния. Переключение между потоками ничего не стоит. Можно хоть каждый такт переключаться, что обычно и происходит в многопоточных процессорах. Т.е. если мы запустим два потока, состоящих из NOPов, то каждый будет выполнятся как будто он единственный поток на процессоре с половиной частоты. Однако с нетривиальными потоками все гораздо интереснее. Встретив инструкцию, которая требует ожидания какого-то условия (например ждет данные из памяти) процессор просто перестает переключатся на этот поток, пока условие не выполнится. За счет этого несколько потоков одновременно выполняются быстрее чем они же последовательно за счет сокращения времени простоя процессора в ожидании памяти. Естественно, что такое поведение многопоточного процессора не повторить на однопоточном никакими ОС и никакими явами. Программными средствами невозможно переключится из зависшей в ожидании инструкции.

Долгое время ждущих инструкций в микропроцессорах не было. Инструкции всегда что-то делали и не ждали без толку. Только в 90х годах прошлого века появились процессоры с асинхронной памятью и инструкции стали ждать память. Но вместо того, чтобы просто сделать Пентиум многопоточным, Интел, наученный горьким опытом с 486ым (который был медленее 386 на коде, оптимизированом для 386), пошел по "суперскалярному" пути. А то какой-нибудь Дворак запустил бы свой любимый Word 5.0 на новом Пентиуме и не увидел никакого ускорения, было бы нехорошо. С точки зрения абсолютной производительности, суперскалярность/OOE даже рядом не стоит с многопоточностью/SMT, однако позволяет ускорить однопоточный код, единственный важный критерий для Интела в то время. Опять же, наверное тогда думали, что память скоро догонит процессоры и это только временная проблема, хе-хе.

https://kunaifusu.livejournal.com/531119.html
229 1919859
>>19858
Посмотрел Вулкан, сэмпл рисующий треугольник - больше 1000 строчек. Больше 1000 строчек, Карл! как теперь принято говорить. У ДХ12 получше чуть-чуть. Наконец-то можно строить коммандные буферы из разных тредов - всего-то лет 10 прошло с тех пор как одноядерные процессоры перестали делать даже для лэптопов. Однако до консолей все еще далеко.

Самая главная проблема песишных API это компиляция шейдеров в рантайме. Во-первых это занимает время, а во-вторых рантайм компилятор не может соревноваться с уровнем оптимизации офлайн компилятора. Для примера, НВидиевский компилятор для PS3 сосал настолько, что делая инвариантные изменения исходника (добавляя 0 и умножая на 1 разные значения) можно было получать сильно разный код. Но для PS3 это не проблема - запустил процесс на выходные, который перебирает тысячи пермутаций каждого шейдера и выбирает самый лучший код и готово. На песи тот же компилятор работал в рантайме даже не пытаясь ничего оптимизировать. Еще на той же PS3 - у пиксельных шейдеров не было константных регистров, константы реализовывались через модификацию кода. На PS3 просто патчился бинарник, а вот на песи, подозреваю, патчился IL и перекомпилировался. В результате PS3 могла делать десятки тысяч ДИПов, а песи дох на тысяче с тем же ГПУ. В новых API эта компиляция никуда не делась (хотя проблемы с ней на современном железе не такие же как на PS3, конечно, но принцип тот же).

Вторая большая проблема - биндинг параметров для шейдеров. Слоты, имитирующие регистры видеокарточек 90х годов прошлого века, наконец-то ушли, но замена не на много лучше. Я так понимаю все теперь связывается фетч шейдером (раньше только вертексбуферы). То есть теперь фетч шейдер вызывается на каждой стадии, а не только вертексной. Это, конечно, разгружает CPU но за счет дополнительной нагрузки на GPU. На консолях можно обойтись и без слотов, и без фетчшейдеров (даже в вертексной стадии).

Ну и, конечно, поддержка многозадачности никуда не делась. Каждый раз, когда переключаются контексты, нужно востанавливать все состояние ГПУ, а для этого его нужно постоянно копировать в память. Хотя бы сейчас в этом появился какой-то смысл, так как не только игры используют ГПУ. На консолях можно пользоваться хардверными контекстами, так как никто не будет запускать 1000500 клиентов.

https://kunaifusu.livejournal.com/530484.html
229 1919859
>>19858
Посмотрел Вулкан, сэмпл рисующий треугольник - больше 1000 строчек. Больше 1000 строчек, Карл! как теперь принято говорить. У ДХ12 получше чуть-чуть. Наконец-то можно строить коммандные буферы из разных тредов - всего-то лет 10 прошло с тех пор как одноядерные процессоры перестали делать даже для лэптопов. Однако до консолей все еще далеко.

Самая главная проблема песишных API это компиляция шейдеров в рантайме. Во-первых это занимает время, а во-вторых рантайм компилятор не может соревноваться с уровнем оптимизации офлайн компилятора. Для примера, НВидиевский компилятор для PS3 сосал настолько, что делая инвариантные изменения исходника (добавляя 0 и умножая на 1 разные значения) можно было получать сильно разный код. Но для PS3 это не проблема - запустил процесс на выходные, который перебирает тысячи пермутаций каждого шейдера и выбирает самый лучший код и готово. На песи тот же компилятор работал в рантайме даже не пытаясь ничего оптимизировать. Еще на той же PS3 - у пиксельных шейдеров не было константных регистров, константы реализовывались через модификацию кода. На PS3 просто патчился бинарник, а вот на песи, подозреваю, патчился IL и перекомпилировался. В результате PS3 могла делать десятки тысяч ДИПов, а песи дох на тысяче с тем же ГПУ. В новых API эта компиляция никуда не делась (хотя проблемы с ней на современном железе не такие же как на PS3, конечно, но принцип тот же).

Вторая большая проблема - биндинг параметров для шейдеров. Слоты, имитирующие регистры видеокарточек 90х годов прошлого века, наконец-то ушли, но замена не на много лучше. Я так понимаю все теперь связывается фетч шейдером (раньше только вертексбуферы). То есть теперь фетч шейдер вызывается на каждой стадии, а не только вертексной. Это, конечно, разгружает CPU но за счет дополнительной нагрузки на GPU. На консолях можно обойтись и без слотов, и без фетчшейдеров (даже в вертексной стадии).

Ну и, конечно, поддержка многозадачности никуда не делась. Каждый раз, когда переключаются контексты, нужно востанавливать все состояние ГПУ, а для этого его нужно постоянно копировать в память. Хотя бы сейчас в этом появился какой-то смысл, так как не только игры используют ГПУ. На консолях можно пользоваться хардверными контекстами, так как никто не будет запускать 1000500 клиентов.

https://kunaifusu.livejournal.com/530484.html
230 1919978
>>14169 (OP)
Почему великий Бьёрн Страуструп не запилил себе до сих пор нормальный сайт? Его сайт по прежнему выглядит как кусок гавна из начала 90-ых?
image.png222 Кб, 440x568
231 1919985
>>19859
>>19858
>>19856
>>19850
>>19847
Опять ты выходишь на связь, мудило?
232 1920018
>>19858
Аха, узнал kunaifusu по его высерам. Он годами не меняется, пишет одну и ту же хуету. Это ж у него как раз профдеформация: он геймдев, пишет под платформы с дерьмовыми cpu уровня бюджетного ноута, и вытягивает недостающее ковырянием с железками.

Если по пунктам, то всё плохо.

С x86 всё збс - до выхода ps3 с его уёбищным cell другого способа писать код в мэйнстриме и не было, даже на консолях. Шейдеры времён dx9 не считаю - уж очень они были ограниченны. Учитывая, что gpgpu по-прежнему не стоит усилий в 99,9% софта, у него получился целый пост надменной хуеты.

fork в никсах - это как раз способ сделать вид, что никакой многопоточности не существует (достаточно посмотреть, как пишется код на node, python, php), в то время как даже кодеры на win95 уже познали всю боль примитивов синхронизации. Более того, этот пиздобол всё переврал - именно fork создаёт отдельный процесс, копируя память и дескрипторы, а виндовые потоки всегда работают внутри уже существующего процесса.

Для vulkan нужно не 1000 строчек, а гораздо, гораздо больше - к нему нужен ещё менеджер памяти. Но при этом он позволяет писать охуенно адаптивный код: тот же doom eternal может на минималках ползать на нищебродском apu атлона, а может дать жару на rtx 3090, в то время консольный код живет от силы 5 лет и потом выбрасывается, потому что между ps3 и ps4, например, изменилось вообще всё. Про переключение контекста gpu тоже смешно - начиная с 4-й плойки в консолях те же самые операционки (фряха и винда) и те же самые gpu.

В общем, не вникая в вопрос, можно обосрать всё что угодно, и конкретно этот поцыент себя показал недалёкого ума выебщиком. А ведь лет ему на момент поста, кажется. было уже за тридцать.
233 1920044
Хуй знает кто такой кунифуси но тебе чел хватит плюсами заниматься
234 1920053
>>19978
Это еще ладно, его личный сайт - может хоть ЦП постить

А вот что касается сайтов некоторых крупных проектов и организаций, к примеру slackware,minGW - то это реально пиздец. Неужто люди, способные разработать такого уровня вещи, не могут нашлепать что-нибудь более-менее приемлемое на всяких джс сиесес (хотя бы чтобы фейспалм не ловить при входе на главную страницу)? Возможно не хотят шквариться о петуховские языки, но есть же вордпресс к примеру: поставить, 5 минут понастраивать, и уже лучше было бы.
image.png22 Кб, 1587x111
235 1920058
236 1920103
>>19978
>>20053
Потому что нахуй не нужно никому кроме зумерков. Веб развивался в научной среде и вообще задумывался как интерактивные документы с ссылками, но в PDF-ках и DOC-ах никто на Д И З А Й Н не дрочит, а в вебе с какого-то хуя должны, блять.
237 1920223
>>19985
хуй знает, я конечно ни практик нихуя, но просто прочитал книжки рихтера и еще windows internals
либо он пишет о том что сильно выходит за рамки моих представлений, либо он пишет какую то несвязную чушь
238 1920238
>>20103

>в PDF-ках никто на Д И З А Й Н не дрочит


Ты, наверное, шутишь.
239 1920281
>>20238
Это другое.
240 1920288
>>19978
Идеальный сайт:
https://www.smlnj.org/
241 1920292
>>20238
>>20281
Много таких документов относительно общего числа видели? Почти всегда там унылые чёрно-белые тексты.
242 1920303
>>20058
Ясно Великий Маэстро обоссал веб-макак, впрочем ничего нового.
243 1920304
>>19978
Потому что он может, но ему лень разбираться в css, html и прочое поеботе. Если он захочет то высрет годный дизайн, но это время тратить нужно, а ему похуй.
244 1920306
>>20238
сука
245 1920312
>>20292
Да иногда стандарт плюсов или даташиты чипов выглядят лучше чем сайт из 90х
246 1920313
>>20312
Бьёрн Страуструп же сказал что это нахуй не надо к тому же мода на дезигн проходит быстро и хули постоянно говно сайт перепиливать? А его знания вечны.
1466426014030.webm7,7 Мб, webm,
900x840, 2:46
247 1920316
>>20292
Терабайты. Ну а черно-белые тексты тоже можно делать неуныло.
248 1920318
>>20313

>мода на дезигн проходит быстро


Не заметил чтобы мода на говно из 90-х вернулась.
249 1920319
>>20316
Открыл шембку и сразу в голове regedit.exe
250 1920320
>>20318
Бьёрн Страуструп сказал что если тебе уёбку нужен крейтив дезигн то милости прошу запили ему, а потом пишли свою говновёрстку, он вставит её себе на сайт
251 1920377
Аноны, есть кто из питерского wargaming ну или другого? Если да, то расскажите как вы туда устроились, какое было собеседование, какой был опыт и можно ли туда вкатиться без опыта работы? Речь идёт о плюсах.
252 1920409
>>20377
кушать хочешь? решил от мамки сьехать? может ты думаешь что когда появиться деньги то сможешь потрахаться наконец?
253 1920414
>>20409
Я не он, но я так думаю, да. Обычно так и происходит.
254 1920418
>>20409
Да нет, просто интересна тема геймдева на плюсах.
255 1920428
>>20418
Думаешь на работе тебе поставят комп и скажут играй?
256 1920431
>>20377
Геймдев это пиздец, не лезь туда
1490261877754.png26 Кб, 1448x316
257 1920438
>>20377
Не перезвонили.
258 1920441
>>20377
А ты сам как думаешь, возьмут тебя в топовую компанию(на самом деле такую себе), когда ты нихуя не умеешь и сейчас 2021 год на дворе, когда вкатывальщик каждый первый? Я уже не говорю о том, что там начальных позиций вообще нет скорее всего.
Полистай на линкедине чуваков, что там работают. Там любой нормальный разраб будет иметь образование пми и нормальный такой опыт работы.
259 1920442
Бля, я вот тут смотрю. С этими вакансиями, работами, задачами, издевательствами. А почему мы сами не можем начать зарабатываь на наших навыках погромирования? Что веб дебилам мешает лично пойти в подслушано своих мухосраней и написать там что они пилят сайты на заказ?

Что собственно придурку который кресты выучил, бомбанул и сейчас вкатывается в монтёры кабелей мешает написать игру на собственном игровом движке?

Что нам всем мешает то это делать?
260 1920443
>>20438
А расскажи, что ты делаешь сейчас плиз. Интересно просто, что за 7 лет вообще произойти может.
261 1920445
>>20443
РНН господин. Делаю игры на Годоте для души.
262 1920449
>>20442

>Что нам всем мешает то это делать?


То, что ты нищеброд без скиллов. Какую ты блять игру собрался делать на собственном движке? Если ты такую хуйню пишешь, то скорее всего ты ни движки не писал, ни игры.

А даже если бы это писал сеньёр-помидор и самый охуенный разраб, что только может быть, один хуй без денег или многих лет работы в соло без каких-либо денег ты ничего не сделаешь. А если даже сделаешь, очень-очень малый шанс, что что-то там взлетит.
263 1920451
>>20442
Нужны скиллы кабанчика, рамсить с недовольными клиентами, ты можешь потратить кучу времени, годы и выхлоп будет "пук", а если что-то начнёт выгорать финансово то нужно будет это оформлять срочно, регистрировать т.к. иначе тебя просто выебут органы пыньвласти. Подводных дохуя. Нужно быть ёбаным в сраку гением уровня торвальдса и то его гавно не взлетело, оно просто сделало его известным что работодатели увидели его.
264 1920452
>>20449
А что не так? Для тебя написать движок для игры это так сложно?

Алсо, ну хуй с ним не шарю в вашем гейдеве, ну сайты то пилить это проще. Неужели здесь нет анонов которые для различных кабанчиков согласятся веб хуету пилить?
Снимок экрана от 2021-01-24 22-47-28.png40 Кб, 474x619
265 1920455
Так, пацантре, нуб опять врывается итт.
Что происходит с объектом класса "a" в данном случае? Путем эксперимента додумываю что при переназначении переменно test из класса b вызывается деструктор a и a сваливает нахуй со стека. Верно?
266 1920456
>>20442

> C++ тред


> Пилить сайты на вордпрессе за копейки

267 1920457
>>20452

>Для тебя написать движок для игры это так сложно?


Чтобы написать движок на уровне движков, которые есть, ты потратишь годы.

>Алсо, ну хуй с ним не шарю в вашем гейдеве, ну сайты то пилить это проще.


Проще конечно. Фриланс называется. Каждый второй этим занимается. О чем ты вообще?
268 1920458
>>20441
Частенько вижу у них появляются вакансии на интерна, вот интересно стало что они там спрашивают, не сказал бы что я нихуя не умею, читаю книжки про движки, графику, делаю игры, движок, пишу шейдеры.
269 1920460
>>20456
>>20457
Блять, я перепутал ваш тред с "Мы вам перезвоним" прошу прощения господа, я утром задал вопрос про всратость сайта страуструпа и всё. Прошу прощения
270 1920462
>>20455
У тебя деструктор у a вызовется 1 раз, когда скоуп мейна закончится.
271 1920465
>>20457

> Чтобы написать движок на уровне движков, которые есть, ты потратишь годы.


Причём нужно быть не вкатышем-одиночкой, а сеньором с командой из 10+ разрабов.
272 1920466
>>20428
Нет, думаю скажут какую нить логику меню писать или что-то типо этого, но хотел бы всё-таки графикой заниматься
273 1920468
>>20465

>с командой разрабой


Ну это не проблема, есть же C++ в программаче, вы то мне всё и напишете.
Снимок экрана от 2021-01-24 22-53-17.png10 Кб, 309x224
274 1920469
>>20455
и еще как заставить здесь запретить создание объекта, например в конструкторе я хочу его детально создать а тут просто обявить переменную типа. Догадываюсь
a() = delete; в определении класса a
275 1920471
А кака написать свой игравой движок на джава скрипти?
image.png62 Кб, 1055x490
276 1920476
>>14169 (OP)
Анон, ебу куда писать, нагуглить не удалось. Надеюсь вы знаете как эту хуйню пофиксить. В общем мне visual studio long double какого-то хуя округляет. Мне надо прощитать с точностью в 20 знаков после коммы а оно на 16 знаке какого то хуя заканчивается. Как фиксить?
277 1920479
>>20468
Тут даже с лабами идут нахуй, и ты думаешь, что кто-то ответит на твои вопросы про AABB и VAO/VBO?
278 1920480
>>20455
При создании обьекта класса b, вызывается конструктор для обьекта класса a, потом в .create ты вызываешь оператор перемещения (A&&, т.к. результатом a() является prvalue). Потом когда b выходит из скоупа - деструктор вызывается.

>>20469
Сделать конструктор приватным, и вызывать его либо из статического метода, либо из friend-функции
Снимок экрана от 2021-01-24 22-57-56.png8 Кб, 157x282
279 1920484
>>20462
ну хз, судя по выхлопу при каждом create сначала вычисляеться новый объект и исполняеться его конструктор, а после присваивания вызывается деструктор предыдущего объекта.
280 1920486
>>20476

>void coding


>cum_freq


>>20469
в смысле объявить переменную типа? указатель только можешь сделать, иначе она инициализируется все равно каким-то конструктором.
282 1920494
>>20487
блять так и думал, есть либы какие то под данную хуйню? я только big int нашел
>>20486
well cum
283 1920502
>>20494
Может >>18016
284 1920514
>>20502
думал за буст но это слишком долго разбираться с этим дерьмом, быстрее уже на питон переписать. ладно, спс
285 1920517
>>20442

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


конкуренция среди поделий инди-разработчиков страшная вообще то сегодня
по соотношению трудозатраты-окупаемость выгодней наверное на паперти стоять, а не делать инди проэкт
286 1920520
>>20514
Да там ничего сложно, он преимущественно хеадер-онли, просто скачиваешь и распаковываешь его, затем компилятору указываешь папку инклудов буста и можешь уже юзать, читая доки на нужную тему.
287 1920528
>>20517
Как будто в наше время глобализированной экономики есть что-то где нет конкуренции, лол.
288 1920534
>>20528
Не надо подменивать понятия. Умеренная конкуренция != отсутствие конкуренции. А в гейдеве ты охуеешь с толп школьников/студентов с юнити.
289 1920540
>>20534
Так в этом и суть, хорошее качество игры достигается за счёт самописаного движка на сях. Я не гооврю о том чтобы написать какой-нибудь ёба универсальный движок на современный лад. А тупо пилить это всё под конкретную игру на один раз. То есть одноразовый движок для одной игры как кстати и делали раньше.

Он даст преимущества и в оптимизация и в других штуках типа того что игрового процесса т.к. ты как угодно его настроить можешь. И здесь школота и студенты на юнити соснут хуйцы
290 1920553
>>20540
я о том что сегодня уже есть относительно развитые средства прямого финансирования (кикстартер, патреон, ранний доступ в стиме, etc), и многие инди-проекты уже заполнили пустующие ниши
сегодня уже есть игры почти под любой вкус
взять, к примеру, песочницы
довольно трудно будет конкурировать с факторио, террарией, oxygen not inluded и другими
хотя вроде бы довольно нишевый жанр, но он уже заполнен
291 1920578
>>20540
Качество игры вообще не коррелирует с движком и тем более языком.
(Точнее коррелирует обратно - пока ты рожаешь велосипед, ты не создаешь контент, графон, уровни и так далее)
292 1920581
>>20578
Не так он прав на самом деле, что в идеале под каждый вид игры свой движок напильником заточенный пилить надо. Но суть в том что в современных реалиях на современных мощностях это реально нахуй не надо. Учишь готов движок и клепаешь своё гавно. Здесь проблем будет больше с созданием текстур, 3д моделей и прочей поеботины что для с++ господина равно выстрелу в голову.
293 1920596
>>20540
Только вот ты закончишь писать свой движок примерно к 2077 году
typedefs.png65 Кб, 1234x696
294 1920609
Аноны. Читаю спецификацию к библиотеке GLVW
вот на картинке мы описываем структуру и какие функции могут с этой структурой работать.
что значит typedefs?
что мы тут объявляем и зачем?
то что ниже про функции я понял
295 1920614
>>20609
Объявляем типы указателей на функции, чтобы не писать в сигнатуре каждой функции непонятную хуиту в духе
void func(void (⚹⚹f)(int, int)) { ... }
296 1920615
>>20614
так почему у нас есть typedefs - где мы объявляем сигнатуры
а ниже идет раздел functions
где куча функций без сигнатур
297 1920619
>>20609
Нахуя разбираться в этом говне вообще? Там апи используется одинаково каждый раз и в пару строчек. Один раз написал и забыл.
298 1920648
>>20615
Он же тебе написал.
Есть функции
А есть типы - указатели на эти функции
299 1920661
А на плюсы реально устроиться джуном без вышки?
300 1920663
>>20661
реально все, просто знать надо на требования, а не на "прочел вступление к страуструпу"
301 1920667
>>20663
Ну я тащем-то осилил страуструпа, прочитал от корки до корки книжку на 1400 страницу. Только на многие упражнения забивал.

Да не у меня с базой всё норм. мне просто в мы вам перезвоним треде сказали что меня заворачивают из-за отсуствия технической вышки. Я не хочу перекатываться в веб меня тошнит от него нахуй, хочу на плюсах писать
302 1920669
>>20667
ну тогда вперед по собесам
303 1920670
>>20669
Так мне отказы шлют, даже до собесов не допускают
304 1920673
>>20661
Тут дело не в том, что в универе тебя программировать научат.
Просто на плюсах чистых никто почти ничего не пишет, либо пишет какое-то говно. Обычно с плюсами вместе идёт какая-то большая предметная область, которую ты сам, конечно же, не изучишь, либо изучишь очень хуево.
Если пойдешь формочки клепать на кьютэ - универ не нужен, да, формально, хотя это всяко будет тебя хуево выделять на фоне других кандидатов.
Если пойдешь компьютерную графику дрочить или компьютерное зрение или любую другую область - то без универа тебя сходу нахуй пошлют вообще без сомнений.
305 1920674
>>20670
гитхаб то с проектами есть? или ты правда только прочитал страуструпа и все?
306 1920677
>>20674
Да, я их уж вбрасывал в соседний мы вам перезвоним, сказали что это хуета.

Проекты такие:
1. Консольная змейка на чистом си
2. Программа с гуи на cpp которая работает с данными из таблиц, строит графики по методу наименьших квадратов и выводит функцию графика. Ну плюс там возможно сохранение данных или загрузка их.

Да я думаю дело не в гит проектах, на гите чё-то 1 просмотр у меня да и тот мой его даже не смотрит никто
307 1920678
>>20674
Я ещё знаю схемотехнику, могу в чтение схем электроники, знаю основы арихитектуры компьютера. Планирую ещё в ассемблеры освоить
308 1920679
>>20677
Продолжай писать код на гитхаб, хули делать
309 1920680
>>20679
А ты сам работаешь на сях? Или с дивана вещаешь?
310 1920688
>>20677
блять напиши что вышка у тебя есть
сделай норм проекты, чтобы показать
диплом твой даже смотреть не будут (в 90% случаев)
когда спросят, прямо так и скажешь, что наебал, а хули еще делать то было?
ну а дальше как пойдет.
311 1920690
>>20688
Да у меня была мысль но мне знакомый который работает в айти сказал что наёбывать не надо.
312 1920693
>>20678
>>20677
>>20690
Советую тебе сделать что-нибудь на qt, написать резюме нормальное в стиле "охуенно знаю qt, cpp 14/17, stl, компьютер саенс, бд" и аплаиться на не сильно охуевшие вакансии. Мб во что-то отечетственное. Похуячишь там год - найдешь работу получше.

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

Ну или другой стак бери, да. Не обязательно же там веб какой-то, да и веб вебу рознь. На каком-нибудь дотнете тоже норм работается.

Ну и наебывать не надо, что за бред вообще. Ладно там дописать еще, что пару месяцев неоффициально работал или фрилансил или лабы делал студентам или около того, но прям пиздеть - ну такое себе.
313 1920698
>>20690
собеседование = контакт
Я на обе работы на которых норально платили устроился хотя вообще не подходил по требованиям. Помню поехал, чисто потому что случайно рядом оказался. Как итог несколько собеседований, плюс одно на английском лол. Ну и взяли, я потом спросил у своего непосредственного начальника как так то, ты же говоил, что были ребята гораздо сильнее меня. Он ответил, тут никогда не знаешь как оно будет и так анон везде. Вообщем создай топ резюме с вышкой! И твоя задача уже начать гонять на собесы. Вот поверь, за неделю найдешь. Я блять хз как это работает. Но у меня два раза так и было. Причем конторы серьезные и несколько собесов и везде я сильно проседал и даже задание завалил. Это лотерея, ебашь и все
314 1920700
>>20693
После плюсов есть преимущество в том что на что угодно можно переучиться без задней мысли, т.к. сложнее ебалы чем эта не найти. Ну и если он по книжке страуструпа учился и то лучше, т.к. он очень много общих и тонких деталей реализации любого яп объясняет.

Вообще я бы советовал тупо на java или c# какой-нибудь переучиться.
315 1920709
>>20698
>>20693
Спасибо всем за советы, понял. Буду короче штурмовать этих пидорасов-работодателей
316 1920712
>>20700
Да не особо, на самом деле. Даже на какой-нибудь C# пересаживаться не особо удобно. Да, он будет легче в том плане, что там нету всякой ебли низкоуровневой, но это тебе не в плюс. Код писать проще, да. Но знать там нужно другие вещи. И фреймворки другие и всё остальное.

Но если бы мне нужно было куда-то соскачить, я бы на C# соскачил, да. Но я его и знал когда-то неплохо, поэтому может я biased.

Вот этого не слушай >>20698 . Я бы послал нахуй такого пиздабола. Абсолютное неуважение и собственно неслабый такой пиздеж по своей квалификации.
Лучше готовься просто к конкретным вакансиям. Прям сделай себе на hh несколько резюме и отправляй так, чтобы совпадение по скиллам было полностью или около.
317 1920715
>>20712
Да я тоже думаю что он пиздит, хотел попросить пруфы, но решил не скатывать тред. Да и манера письма как у школьника самоуверенного который щас вот вузик закончит и всех наебёт и поимеет я был таким же

Ты предлагаешь мне с двух аккаунтов резюме отправлять типа чтобы шансы повысить?
318 1920721
>>20715

>Ты предлагаешь мне с двух аккаунтов резюме отправлять типа чтобы шансы повысить?


Нет, в смысле сделай несколько просто, которые будут чутка отличаться.
Если апплаишься на позицию с qt, отправляй то, где написано, что ты заебись знаешь qt.
Если апплаишься на какой-нибудь winapi, отправляешь резюме, где написано, что знаешь winapi.
Если апплаишься на какие-нибудь сети, отправляешь резюме, где написано "делал клиент-серверное приложение лулзов ради".

Вот в этих небольших отличиях можешь и спизднуть немного. Уровня, требуется знать многопоточность - ну ты придешь скажешь "ну я там юзал std::thread и мьютексы немного, воот)))".

На хх можно несколько разных сделать вроде. Раньше точно можно было.
319 1920732
>>20721
А понял, хитрый ход. Спасибо анон, очень годно. Точно. Буду короче вкатываться завтра с новой силой
320 1920742
>>20721
Но нужно учивать что херочки тоже могут всё это видеть, ну типа заметит могут что один и тот же чел разные резюме имеет они ведь тоже не на одной вакансии там пасутся
321 1920751
>>20742
Ну, это же не что-то нелегальное. Ты просто описываешь релевантные скиллы к позиции.
Да и спалить супер сложно, там вкатывальщиков дохера и больше, никто не будет там запоминать твоё фио или какой-то кросс-референс делать по всем резюме.
322 1920755
>>20751
У меня фото просто стоит
323 1920809
>>20520
Всмсл ? Они адекватный пребилд выкатили ?
image.png143 Кб, 339x347
324 1920817
>>20721

>Если апплаишься на какой-нибудь winapi, отправляешь резюме, где написано, что знаешь winapi.



Заходишь на хх и видишь, что в твоей мухосрани из в принципе двух вакансий по плюсам ни в одной не нужно winapi.
325 1921205
>>20817
В мухосране нужно преусадебное хозяйство обустраивать, а не работу цпп разрабом искать, сам же понимаешь.
image.png2 Кб, 187x56
326 1921384
почему выводится 1 если а больше и 0 если а меньше.
327 1921387
>>21384
Поведение по умолчанию в оверлоаде cout<< bool это вывод true false как 1 0

Можно использовать boolalpha, чтоб выводить в виде текста
328 1921395
>>21205

>преусадебное хозяйство


не выгодно это нихуя, у родителей огород в деревне, по деньгам золотые овощи выходят, и это при том что они теплицу не меняли 15 лет
а поменять теплицу - 25 тыщ минимум, лол, никогда не окупится
это только овощи
мясо, молоко, яйца вообще нахуй не выгодно
329 1921403
>>21384
Потому что тупой компилятор крестов воспринимает эту строку как
(std::cout << (a > b)) ? a : b;
Так что ставь скобки: std::cout << ((a > b) ? a : b);
330 1921405
>>20817
Зачем в 2021 работать где родился? Про удаленку молчу.
331 1921409
>>21403

>Двачер не знает приоритет операторов


>Тупой все равно конпелятор

332 1921410
>>21387
Я тут не то сказал, жопой читаю.

Этот - >>21403 прав, operator precedence
333 1921416
>>21409
Да понятно, что это двачер тупой, а не компилятор, но всё равно бесит же, нет ни одной крестобляди, которая бы не проёбывалась с этим. А всё из-за странного синтаксиса стримов.
image.png6 Кб, 486x19
334 1921418
>>21403
Меня обманули получается?
335 1921420
>>21418
Нет, всё правильно, просто у операции << выше приоритет, и начинаются странности.
336 1921425
>>21420
А ну да, у него там в примере же return было. Спасибо.
337 1921437
>>21416
Да стримы та еще залупа. А синтаксис такой придуман когда кресты еще были хипстерским аднеграундом. Как и std::vector<bool>.
338 1921443
>>21405
Ну так на плюсах удаленки без опыта нихуя нет
339 1921444
>>21443
ПЕРЕЕЗД
340 1921450
>>21444
Можно еще создать собственный стартап на c++ и в перспективе сделать объявление на hh именно в своей мухосране, со знанием winapi, хуяпи, чё хочешь ваще!
341 1921455
>>21450
У джуна нет денег на это
342 1921456
>>21418
Тернарный оператор это всегда мина-ловушка, поэтому просто оборачивай его в скобки целиком и всегда.
343 1921457
>>21456
А можешь и каждую его часть.
344 1921458
>>21457
Прям как в дефайнах
# define MAX(A, B) ((A) > (B) ? (A) : (B))
345 1921460
>>21443
удаленки без опыт нигде нет
346 1921462
>>21460
Во время короны есть.
347 1921473
>>21443
Есть, но не для тебя.
язалупа.mp47 Мб, mp4,
576x720, 0:52
348 1921494
Вот так выглядит байтоёб который пытается вкатиться в айти в 2021
349 1921496
>>21494
Хорошо что я ещё в универе вкатился.
350 1921497
>>21494
Молись чтобы веб ассембли не допилили в этом году, макакен
351 1921498
>>21497
веб ассембли никак не сделает дефолтный хуевый фронтенд быстрее, потому-что там весь ботлнек на манипуляциях DOM.
352 1921500
>>21498
В этом и состоит допиливание, чтобы с DOM можно было быстро работать напрямую без медленной JS-дрисни.
353 1921502
>>21497
У вас в треде живой пример сидит этот долбаёб весь мы вам перезвоним засрал своими вопросами "пащиму миня ни бирут я жы такой маладец учил 3 года каптуре сайнс и схематехнику" и до долбаёба искренне не доходит что сейчас не 1980-е. А мог бы за три года реакт, джс, вёрстку выучить и вкатился бы как белый человек на нормальную работу
354 1921503
>>21473
А для кого?
355 1921683
>>21502
но веб-ассембли и вправда допилят и возможно на клиент-сайде будут ебашить прилаги на плюсах и будет больше РАБоты для простых с++ работяг а не для гигамозгов с аспирантурой
356 1921734
>>21683
Чому на плюсах, а не на Go?
357 1921736
>>21734
Там сборка мусора не запилена.
358 1921773
>>21458
Это другое. Это макрос.
359 1921821
Есть такое средство c# как перегрузка операторов, дак вот, как ввести свои операторы-литералы в дополнение к стандартным? Никак не могу нагуглить как это сделать.
361 1921826
>>21395
если ты мотаешся туда сюда на авто то да, это мало выгодно чтобы себе там овощей каких вырастить. С другой стороны, небольшая теплица с автоматикой- обеспечит тебя отличными помидорами, огурцами, перцами, такого качества, которого ты вряд ли найдешь в магазине, все промышленное- опрыскивается множеством препаратов, консервантов, и в 80% заражено всякими болезнями. Вроде мелочь, но экологичное питание это по моему неплохо.
362 1921827
>>21826
Зашёл в плюсач и оказался у бабушки в гостях.
image.png3 Кб, 355x66
363 1921839
Бляяя, эта ебанина до сих пор жива? Это ж какими динозаврами нужно быть, чума.
364 1921856
>>21839
Ну так в нулевых вузы как раз и готовили делфистов - где-то же они должны были осесть? Тут даже придраться не к чему - легаси-код мажет как копоть, а в 90-х ещё не было очевидно, что паскаль умрёт, а кресты - нет.
365 1921858
>>21826
ищещь овощи на фермерских рынках и осенних ярмарках
покупаешь все самое вкусное
366 1922142
Какое же говнище вся эта инфраструктура вокруг C и C++. Нормальных библиотек почти нет. Десятки лет сотни говнокодеров со всего мира копошили коды и ничего нормального не сделали.
Чтобы просто загрузить картинку, приходится велосипедить отдельную библиотеку, разбираясь в документации библиотек соответствующих форматов. Просто все или почти все остальне не применимы в реальной жизни, они применимы только в шизосистеме свои авторов. Такие библиотеки как CImg не имеют права на существование вне шизотипичного ОСомирка автора.

Вот поэтому, когда я доделаю свой язык программирования, убийцу C/C++, раста и го, то сразу же начну писать инфраструктуру, позволяющее написать и ГУИ-приложение, и математические расчёты делать, и игры, и сервера. Потому что от одного человека инфраструктура будет целостной и абстрагированной.
А другим программистишкам напишу, что если хотите сделать свою библиотеку, то держите её подальше ото всех на своих гитхабчиках и лишь самые храбрые смогут отправить мне её на ревью, чтобы я решил, добавлять её на официальный сайт языка или нет, смогут ли немногочисленные пользователи моего ЯП устновить библиотеку одной командой как сделано в pip для питона или не смогут и им придётся идти на гитхаб и под стопками README и документаций, написанных на жсе найти сам код библиотеки.
367 1922151
У меня есть vector с названием abc и есть строчка с содержанием "abc" как превратить её в объект, вот чтобы можно было написать

vector<int> abc = {1, 2 , 5}
string a
a = "abc"
a.size
вывод: 3
368 1922156
>>22142
Если твоя претензия к инфраструктуре, что тебе мешает написать её для C++, а не для своего ненужного ноунейм-языка?
369 1922172
>>22142
орнул с этого Джонатана Блоу
370 1922187
>>21736
Я всегда вручную освобождаю память
371 1922194
>>22187
В Go? Жёстко.
372 1922206
>>22194
В c++ delete делаю
373 1922212
>>22142

>Чтобы просто загрузить картинку...


...нужно взять один хедер под названием stb_image.h и вызвать stbi_load
374 1922214
>>22212
этот шарит
375 1922216
>>22206
Значит, и эксепшены не юзаешь.
376 1922218
>>22216
чё за экспешены?
377 1922221
>>22142

>Вот поэтому, когда я доделаю свой язык программирования, убийцу C/C++


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

378 1922226
>>22218
Вот-вот.
379 1922227
>>22226
А в книжке страуструпа про них ничего не было написано
PollEvents.png109 Кб, 1272x968
380 1922230
Анон помоги разобраться.
Вообщем суть вопроса станет ясна если взглянуть на картинку, но все же я поясню, что мне тут непонятно. Там все очень просто на самом деле.

1)Идет цикл рендеринга (мы отрисовываем нашем окно). Ок!
2)В этом цикле есть функция glwfPollEvent().
Из учебника :
"Функция glfwPollEvents проверяет были ли вызваны какие либо события (вроде ввода с клавиатуры или перемещение мыши) и вызывает установленные функции (которые мы можем установить через функции обратного вызова (callback)).
3)Как я например понял все это...Наша функция PollEvent в случае если поступило событие - смотрит какие функции обработки событий определены в программе - видит glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);
И уже эта callback функция вызывает нашу пользовательскую функцию. Так оно работает анон? То есть эта функция просто некая связка?
Вообщем мне не совсем понятно как функция "считывания" событий и их непосредственна обработка связаны в этой программе.
Про функции обратного вызова я читал не надо меня туда отправлять. тут вопрос совсем не про это.
381 1922233
>>22151
бампс
382 1922235
>>22151
никак.
изображение.png92 Кб, 800x600
383 1922236
Здрасте.
У кого нибудь есть на примете хорошие Octree либы? важно чтобы они были темплейтными, и координаты внутри них очень желательно работали на целых числах (int допустим)
384 1922239
>>22151
Невозможно, подробное только в скриптовых языках есть, вроде питона и js. А собственно, зачем? Какая у тебя задача?
385 1922240

>У кого нибудь есть на примете хорошие Octree либы?


Это говно никто не использует. У него нету преимуществ никаких.

>важно чтобы они были темплейтными, и координаты внутри них очень желательно работали на целых числах (int допустим)


Нахуя?
386 1922242
387 1922243
>>22240
До свидания
388 1922251
>>22243

>хочу использовать говно


>зачем?


>До свидания


Пиздец дебил.
389 1922255
>>22251
Для моей задачи поиска ближайших соседей, или любых пространственных операций это прекрасно подходит.
float мне не нужны потому что они медленнее чем целые числа. Я работаю с fixed point по сути. uint64_t со смещением, потому нужно было.
390 1922259
>>22230
Проще всего посмотреть код GLFW:
https://github.com/glfw/glfw/blob/0b2660f39fc7111a3ef2723b03f5111afbe75bb9/src/window.c#L1067
Как видно, glfwSetFramebufferSizeCallback просто в структуре окна выставляет поле callbacks.fbsize на твой коллбек.

Смотрим реализацию glfwPollEvents под винду (https://github.com/glfw/glfw/blob/1adfbde4d7fb862bb36d4a20e05d16bf712170f3/src/win32_window.c#L1953): вызывается PeekMessageW (получить эвент для всех окон данного процесса) и событие об изменении размера (WM_SIZE) диспатчится на нужное окно с помощью TranslateMessage/DispatchMessageW, которая у нужного окна вызывает функцию окна (https://github.com/glfw/glfw/blob/1adfbde4d7fb862bb36d4a20e05d16bf712170f3/src/win32_window.c#L490). Она уже в свою очередь вызывает _glfwInputFramebufferSize (https://github.com/glfw/glfw/blob/0b2660f39fc7111a3ef2723b03f5111afbe75bb9/src/window.c#L108), которая и вызывает твой коллбек.

Ничего особо сложного нет, надо просто понимать чуток как устроены event loop'ы во всяких виндах/иксах.
391 1922267
>>22259

>надо просто понимать чуток как устроены event loop'ы во всяких >виндах/иксах.


а как с этим разобраться? мне интересна эта тема. Вот вчера я гуглил и нашел только обработки событий с доходчивым объяснением для JS
392 1922271
>>22142

>Потому что от одного человека инфраструктура будет целостной и абстрагированной.


Ахах, какой нибудь автор CImg считал так же, что ТОЛЬКО ЕГО стиль правильный.
393 1922277
>>22151
map<string, vector<int>> m
m["abc"] = {1, 2, 5}
cout << m["abc"].size()
394 1922285
>>22230

>Про функции обратного вызова я читал не надо меня туда отправлять.


А куда еще отправлять то?
Ну там условно говоря код
FunPtr* callback = nullptr;
vector<Event> events = {};
...
PollEvents()
{
auto evt = events.pop_front();
if (evt==EVENT_SOMTHING && callback != nullptr) callback(evt);
}
...
SetCallback(your_ptr)
{
callback = your_ptr;
}
...
SomeKeyboardShitPressed()
{
events.push_back(new Event(KEYPRESS, key_code));
}
//push_back/pop_front обмазаны какими нибудь мутексами чтобы в многопоточности не затереть значение которое ты еще не считал
395 1922296
>>22271
Честно, не помню. Я давно разбирался, когда надо было с директиксом внутри другой программы сношаться. Если хочешь хардкора, то в принципе есть мануалы в MSDN (https://docs.microsoft.com/ru-ru/windows/win32/winmsg/window-classes https://docs.microsoft.com/ru-ru/windows/win32/winmsg/window-procedures https://docs.microsoft.com/en-us/windows/win32/winmsg/messages-and-message-queues), но я уверен что всё-таки в интернете можно найти более вменяемые статьи. Может дрегие аноны подскажут.
396 1922339
>>22255
У тебя даже на пике quad tree нарисован, а не octo tree. Русским по белому написали, что quad нинужен, а ты копротивляешься.
397 1922342
>>22339

>quad нинужен


octo нинужен
398 1922386
>>22151
Кажется, ты хочешь eval в C++
399 1922387
>>22151
Интересно зачем
400 1922557
>>22156

>Если твоя претензия к инфраструктуре, что тебе мешает написать её для C++, а не для своего ненужного ноунейм-языка?


А улучшение крестов просто по накатанной идет: начинаешь, допустим, с чистенького модернового пакадж-менеджера, а потом от тебя требуют сборку пакетов autotools-ом под aix и ты уже не молодой и дерзкий, а старый и сломленный жизнью, и хочешь в полтос пойти тестировщиком electron-приложений.

Так что бы ещё лет двадцать будем каждый день видеть, как make (родом из 1976) вызывает gcc (родом из 1987), который переводит тебе код на C (родом из 1972) в листинг для ассемблера GAS (родом из 1986 и написанного для машин VAX родом из 1977), чтобы слепить твою мегасовременную machine learning нетленку.
401 1922716
Готов писать лабы за небольшую плату. Кушать хочется
402 1922784
>>22557

>Так что бы ещё лет двадцать будем каждый день видеть, как make (родом из 1976) вызывает gcc (родом из 1987), который переводит тебе код на C (родом из 1972) в листинг для ассемблера GAS (родом из 1986 и написанного для машин VAX родом из 1977), чтобы слепить твою мегасовременную machine learning нетленку.


Не вижу проблемы.
Тем более, что это всё развивается.
403 1922810
Где-то используют в плюсах ассемблерные вставки ещё?
404 1922823
>>22810
использовать используют, но делать так не надо, пользуй интрисики
405 1922843
>>22784
Ты не видишь проблемы, потому что привык её не замечать.

Когда у тебя autotools на каждый запуск раз тратит пятую часть времени чтобы узнать, компилируется у тебя хеллоуворлд, и со знаком ли у тебя int - это пиздец. Когда у тебя cmake генерирует makefile, который вызывает этот самый cmake чтобы нарисовать прогрессбар - это пиздец. Когда у тебя из-за изменения одного хидера двадцать минут пересобирается 600 файлов - это пиздец. Когда у тебя vcpkg скачивает и устанавливает python, чтобы установить ассемблер - это пиздец.

Кмк, самый большой прорыв в развитии случился в 1992 году с появлением турбо паскаля 7.1: тогда появилась ide, в которой из коробки работала система сборки, отладчик и профайлер, а за счет отказа от obj-файлов в качестве промежуточных, частичная пересборка среднего проекта даже на 80386 занимала считанные секунды. По сути, единственная крестовая ide, которая всегда хотя бы поддерживала этот уровень - это msvc, и всё. clion появился только через двадцать лет после.

Вся же поебота типа cmake и conan, олицетворяющая современное развитие - это перекладывание с больной головы на здоровую. Затычки для дыры, из которой дует уже сорок лет.
406 1923022
>>22810
В обработке медиа данных. Всякие аудио и видео кодеки и всё что рядом (ffmpeg, libjpeg-turbo, OpenCV и т.д.).

Вот этот не шарит
>>22823
407 1923216
>>23022
За ffmpeg могу сразу сказать, что ассемблер там - дикое легаси и существует только потому что авторам плевать. Так-то новый код пишется на интринсиках. Я же видел ассемблер в последние годы только в диком байтоебстве - трамплинах для перехода к jit-компилированному коду и реализации защиты от срыва стека.
408 1923278
Бля, заебал навязчивый перфекционизм. Каждый раз когда пытаюсь начать писать изначально догадываюсь что напишу говно так как только лишь учебник прочитал и еще не писал на крестах, так и вижу как 1000 двачеров читают мой код и угорают над тем какой я лох, кек. В итоге переписываю в десятый раз один и тот же хэдер. Да я знаю всем похуй на мой код и на меня в частности.
Проблема:
Пишу QT будет множественное наследование от главного окна->вложенный пользовательский виджет->такой же->и.т.д. Каждый из них должен работать с определенным классом который должен содержать одинаковые для всех них данные.
-сделать класс полностью статическим
-сделать обычным но массив данных самого класса статическим (профит можно реализовать operator[])
-сделать класс полностью не статическим и его объект передавать "из рук в руки" каждому потомку в конструктор (так в пиздоне делал)
я склоняюсь ко второму
409 1923290
>>23278

> и его объект передавать "из рук в руки"


указатель на его объект я имел ввиду

алсо, главный виджет должен иногда делать апдейт данных всего класса
410 1923314
>>22843

>Когда у тебя из-за изменения одного хидера двадцать минут пересобирается 600 файлов - это пиздец.


Это да.
Поэтому forward declaration везде где можно.
Ну и модули ждем, может получше станет.
411 1923317
>>23290
Со статическими данными завязывай - код с ними сложно тестировать, т.к. непонятно, кто туда последний лез их менять. Передавай их в виде const T& в конструкторе, указатели в современных крестах - дурной тон.
412 1923327
413 1923329
>>23317

>указатели в современных крестах - дурной тон.


интересный момент, но половина кьюти принуждает к указателям, любой чих там создается через new и привязывается к топовому QObject который при своей смерти проходится по потомкам и делает им автоматически delete. так что прийдется.
414 1923331
>>23329
так кути по дизайну это адовое легаси
415 1923333
>>23314
К моей любви к турбо паскалю. Смотри примеры модулей в C++20: https://docs.microsoft.com/en-us/cpp/cpp/modules-cpp?view=msvc-160 - export module/import это ж практически паскалевские unit/uses тридцать лет спустя.

И скорости компиляции модули вряд ли помогут - стандартные хидеры уже у всех precompiled, а при изменении своих все равно придется шерстить весь использующий их код, т.к. в них могут появиться новые перегруженные функции или просто имена для трюков со sfinae. И даже если интерфейс тот же, инлайнить функции придется заново. В итоге получаем ту же почти полную перекомпиляцию на любой чих.
416 1923351
>>23329
Это не имеет значения - если потомок не владеет объектом и не может реагировать на его исчезновение, то ему незачем работать с ним через указатель. Иначе ебись со shared_ptr и weak_ptr.

Еще такое дело: Qt - это просто интерфейс. Если у тебя данные существуют всё время работы приложения, а не создаются в каждом окне для себя и потомков, то построй для них отдельную, не зависящую от Qt иерархию классов и самый верхний передавай в qt, иначе ты будешь зависеть от того, какие окна у тебя сейчас открыты, а это пиздец уровня вижуал барсика.
417 1923369
418 1923374
>>23317
А статические константные данные это дурной тон? Если да, то какая альтернатива?
419 1923435
>>23374
static const в классе - это просто глобальная переменная, доступная через этот класс. Если она не зависит от текущего состояния программы, отрефактори её в constexpr и всё будет збс. Иначе лучше выдели её в отдельный класс и передавай объект этого класса в конструкторе через ссылку, иначе возникнут непонятки от того, кто эту переменную меняет.
420 1923448
>>23435
это другой анон спрашивает, не qt-шник
421 1923456
>>23448
А разницы-то никакой и нет. Общие данные в глобальных переменных - зло, т.к. никогда не знаешь, кто их меняет. При передаче их в конструктор/аргумент функции у тебя хотя бы будет возможность отследить, кому они в каждый момент времени доступны.
422 1923470
>>22810
Не стоит того чаще всего.
Когда нужен ассемблер — его обычно нужно много, поэтому собирают отдельные объектники-модули в составе проекта.
423 1923546
>>14767
Связанные у тебя только носки от мамки, а списки - связные
424 1923556
Аноны, как скрыть от пользователей тип итератора? Есть класс, в котором используются ассоциативные контейнеры, в которых иногда нужно делать обход по ключам, иногда по значениям. Сейчас делается через возвращение векторов, что медленно пиздец. Если вынесу родной тип итераторов наружу - при смене реализации контейнера пользовательский код сломается, прецеденты были. А в STL есть какая-нибудь обертка, из которой пользователю видно только что это, допустим, forward_iterator и всё?
425 1923583
>>23556
просто шаблон принимай, если хочешь анально огородить - то внутри еще поставь статик ассерт, что это итератор
426 1923588
>>23583
Так это пользователи принимают, не я. Нужно не позволить им косячить. У меня пока три идеи: или сделать лямбду, возвращающую следующий элемент/nullptr (но тогда никаких std алгоритмов, пичаль), или свою обертку с интерфейсом итератора и функции типа items_begin()/items_end(), или перейти на ranges из c++20. Почему-то в stl для такой очевидной штуки ничего нет :(
427 1923589
>>23588
это концептами починили уже, по идее.
428 1923595
>>23589
Концепты задают минимум, которому должен соответствовать класс. А юзеры, сволочи такие, привязываются к реализации. Пример - итератор std::unordered_map возвращает std::pair, а у robinhood::unordered_map есть свой robinhood::pair. Юзеры взяли и не от большого ума жестко прописали std::pair вместо его вывода через auto и теперь у меня 500+ мест, где придется что-то подковырнуть. Попадос!
429 1923601
>>23595

> теперь у меня 500+ мест, где придется что-то подковырнуть


Удачи, зато будет потом нормально
430 1923691
>>23595
Ну правильно, auto это мина замедленного действия, тебе надо было просто возвращать обертку my::fucking::pair
431 1923706
>>23691
Так в том и дело, что будь там auto, этого бы не случилось - вывелся бы другой pair и всё. Разница, кстати, между двумя вариантами pair небольшая: std::pair, кажется, не умеет в move-семантику.
432 1923739
>>23595

>А юзеры, сволочи такие, привязываются к реализации


Юзеры привязываются к интерфейсу, который ты не отделил от реализации.
sage 433 1923784
uchar i = 1;
Назовите typeof(~i)
У меня gcc выдаёт ~i < 0, как так?
Как инвертировать биты?
434 1923800
>>23784
инт поди
sage 435 1923825
>>23800
Ага, решaeтся простой вспомогательной переменной
436 1923827
>>23784

>> У меня gcc выдаёт ~i < 0, как так?


Ты ведь просто printf("%i,", i) сделал, да? Вот и получил, что заказывал - твой i printf интерпретировал как число со знаком. Если бы ты в коде написал блок с условием (~i < 0), то он бы не выполнился.
sage 437 1923830
>>23827
if (~i < 0) написал )))))))
но там инт получается
sage 438 1923832
>>23830
>>23827
Над было ещё кастить сверху
439 1923842
>>23784
Зачем вообще этот rtti нужен? Какие-нибудь реальные примеры, а не суперспецифичных задач (в этом случае возможно создать поле идентификатора и виртуальный метод типа "getID")
sage 440 1923843
Как кстати typeof проверить?
441 1923846
>>23842
dynamic_cast (антипаттерн), typeid(костыли костылики для всякой параши)
sage 442 1923847
>>23842
Я просто хотел инвертировать биты в чаре чел
Сначала не получилось, потомуто rvalue было инт
443 1923849
int a(int m, int l) { return m + l; }

int a(int x, int y); -- Почему тут компиль не ругается?

double a(int, int); -- А тут внезапно начал писать:
error: ambiguating new declaration of 'double a(int, int)'
note: old declaration 'int a(int, int)'?
444 1923853
>>23849

>int a(int m, int l) { return m + l; }


>int a(int x, int y); -- Почему тут компиль не ругается?



Потому-что на имена переменных похуй. 2ая строка - просто декларейшен функции с другими именами, которые не юзаются.

> double a(int, int); -- А тут внезапно начал писать:


ты пытаешься перегрузить функцию по возвращаемому значению, что запрещено.

auto ret = a(1,2) - ret это double или int? Вот никто не знает.
445 1923866
>>23853
Ок, со вторым случаем я разобрался, там в сигнатуру не входит тип возвращаемого значения, поэтому в твоем примере будет неоднозначный вызов функции.
А почему он не ругается на int a(int x, int y);? Это же объявление функции, которая определена выше. Сигнатура абсолютно такая же: имя 'a', параметры int, int.
осуждаю.jpg47 Кб, 700x624
446 1923871
>>23866
Объявлений функций может быть сколько угодно, до или после определения.
447 1923872
>>23866
Первая строка - ОПРЕДЕЛЕНИЕ функции.
Вторая - обьявление.

Обьявлений может быть миллиард, определение одно.
https://ru.wikipedia.org/wiki/Правило_одного_определения
448 1923896
>>23556
челик, это делается крайне просто: через typedef (или using в новых крестах) в определении класса..
мимо безработная голодная хуйня
449 1923901
>>23896
алсо, почитал ответы что тебе на твой вопрос поотвечали..
уровень /pr понятен, кхе кхе
хоть тут и заседают 700к куны
1442180050zabavnye-devushki-chast-30-61-foto59.gif4,5 Мб, 600x352
450 1923924
>>14169 (OP)
Пацаны помогите найти книгу Фоулера по паттернам копроративных прил на инглише. На русиче есть но хочу другу амеру скинуть как подарок.
vector.png20 Кб, 705x470
451 1923931
Прохожу курс, а тут какой-то странный вопрос. Не понял формулировку. "Потому что это шаблон" выглядит самым адекватным ответом, так ведь?
452 1923938
>>23931
хуйня какая-то лол
453 1923939
>>23931
самый вменяемый ответ тут все таки второй. Но да, все еще ебланский
454 1923940
>>23939
двачая
455 1923941
>>23842
rtti придумали для сериализации и скриптинга, чтобы связать типы с их именами. Но он какой-то стрёмный и платформозависимый получился, так что его мало кто использует.
456 1923957
>>14169 (OP)
map приделал без спроса к первому аргументу константность и теперь я не могу сделать operator< с uint32_t. как эту хуйню пофиксить
shell.png4 Кб, 214x171
457 1923966
Какого хуя тут выводит 7?
458 1923967
>>23966
А, все, в глаза ебусь, простите. Вопрос отпал
459 1923970
>>23966
sum(1,2)⚹3
1 + 2⚹3
7
lyambda.png16 Кб, 702x506
460 1923980
этот >>23931 анон снова итт (опять вопрос из курса)

Реквестирую помощь, с лямбдами почти не работал
461 1923982
>>23980
Зачем тебе вообще эти говнокурсы?
image.png40 Кб, 694x503
462 1923983
>>23980
Не понял в чем разница между аргументы и параметры, одно из них.
выбрал параметры, т.к. за ними нету;
463 1923989
>>23983
А mutable? И noexcept там к чему?
464 1923990
>>23982
Просто проверяю знания, а на следующий этап не пройти. Вообще, я на сишке и шарпе писал, вот начал плюсы ковырять.
465 1923991
>>23989

>А mutable?


throw имел в виду
быстрофикс
466 1923994
>>23957
Принимай константу
ans.png15 Кб, 572x434
467 1923995
>>23989
>>23991
А все, я совсем уж ебнулся, какой тут throw... Надо поспать.
>>23983
Отметил все по твоим пунктам, все правильно. Миллиард чая тебе, анон! Прям спасибо! Ушел смотреть видосы про лямбда-выражения
468 1924028
>>23982
У нас на работе за прохождение каких-либо курсов (хотя бы условно имеющих отношение к тому, чем ты занимаешься или должен заниматься) повышают з/п. Типа развитие персонала и всё такое.
другой анон
469 1924408
>>14169 (OP)
медлленно возвращаюсь в программирование после арми по приколу на вялял пролграмму
#include <unistd.h>
#include <math.h>
#include <stdio.h>
#include<limits.h>
int main()
{
int a(INT_MAX),c(1),b;
int min[a];
for(b=0;b<=a;b++)
{
c++;
min=a/pow(c,2);

printf("%d\n",min);
sleep(10);
}
return 0;
}
в чем ошибка
470 1924414
>>24408
#include <unistd.h>
#include <math.h>
#include <stdio.h>
#include<limits.h>
int main()
{
int a(INT_MAX),c(1),b;
int min[a];
for(b=0;b<=a;b++)
{
c++;
min=a/pow(c,2);

printf("%d\n",min);
sleep(10);
}
return 0;
}
471 1924418
>>24408
точнее так
http://cpp.sh/8lvgg
472 1924425
>>24408

>в чем ошибка


в том, что ты пошёл в армию
473 1924454
Юнит-тестирование с использованием assert нужно как-то подробно разбирать или этим не занимается обычный c++ дев?
474 1924460
Как правильно построить консольное приложение?

Создаю классы UI в котором будет реализован интерфейс с пользователем и Program в котором непосредственно находится алгоритм.
UI должен будет обрабатывать команды пользователя.
Например, пользователь вводит "myconsoleapp.exe <arguments>". Запускается main(int argc, char argv[]). В нем я создаю объекты классов UI и Program. Затем вызываю метод UI.prepare(int argc, char argv[]). Он принимает аргументы, обрабатывает их, а затем возвращает необходимые данные для работы основного алгоритма. Эти данные, я отправляю через метод Program.alg().
То есть, работает это примерно так:

int main(int argc, char* argv[]) {
UI ui = new UI();
Program program = new Program();
vector<string> vector_str = ui.prepare(argc, argv);
program.alg(vector_str);
return 0;
}

Вопрос. Правильно ли вообще так делать?
475 1924470
>>24454
Обычно юнит-тесты пишет сам разработчик на свой код.
1598650357855.jpg52 Кб, 750x1000
476 1924471
>>23994
принял за щеку
477 1924571
>>24460
Нормас. На алгоритмы ( а может даже и UI ) будет не сложно тесты написать. В этом и смысл разделения на разные слои. Мухи отдельно, котлеты отдельно
478 1924594
>>24460
чтобы решить частную проблему, нужно общее решение
в данном случае тебе нужно сделать (либо взять готовые) две библиотеки - одна для разбора и обработки агрументов запуска приложения, другая для разбора интерактивного пользовательского ввода
иначе ты будешь осужден на бесконечное запиливание костылей
мимо нищяя безработная макака понявшая дзен
479 1924680
>>24460
А где тут XML? Переделывай.
480 1924709
>>23924

>хочу другу амеру скинуть как подарок.


Купи на амазоне - ты же не хочешь его под статью подвести.
481 1924711
>>23966
Вот поэтому макросы в с++ и не надо использовать - это же не Си где без них никак.
482 1925064
Нубовопрос:
Раскрываются ли инлайн методы объекта если я вызываю их в коде через указатель на объект:
obj->foo();
Читал если на обычную функцию где-нибудь в коде есть указатель она не раскрывается компилятором не смотря на директиву инлайн. А в данном случае?
483 1925104
>>25064
и еще в догонку:
pragma once vs header guards
думаю большинство тут посоветует первое но почему гугль например в своем гайдлайне рекомендует гварды формата
#define {project}_{dir}_{src}_H
?
484 1925106
>>25104
Header guards соответствует стандарту и есть в любом компиляторе, pragma once - нестандартно, хоть и есть почти во всех компиляторах.
485 1925166
Господа, в плюсах можно совершить explicit template instantiation, дающий возможность определять методы шаблонного класса в .cpp файлах (без этого линкер пошлет вас далеко и без хлеба). Стоит ли овчинка выделки? Или в случае с шаблонными классами лучше определять в хэдэре и не париться? Что есть best practice?
486 1925167
>>25166
Ситуативно
487 1925170
>>25064
Зависит от фазы луны.

>>25104
С pragma once бывают проблемы, когда можно несколькими вариантами заинклудить один и тот же файл.
Но такие "артефакты" встречаются довольно редко.
488 1925173
>>25170
Эх, вот бы препроцессор был тьюринг-полным, можно было бы через рекурсивный инклуд на этапе компиляции посчитать факториалчик.
489 1925193
Господа, проясните все-таки я жду: >>25064
490 1925200
>>25193
Тебе же сказали, что зависит от фазы луны. Компилятор при оптимизации можеи как захотеть заинлайнить, так и не захотеть, ибо inline - это просто рекомендация компилятору, хотя современные компиляторы и без рекомендаций лучше разберётся.
491 1925203
>>25200
Ну хотел уточнить стоит ли загрязнять хэдер определениями если я точно буду использовать объект класса через указатель. В случае если они 100% не раскрываются тогда всегда определять в срр и не париться
492 1925204
Пишите что-то после работы? Пет-проекты какие-то может?
493 1925207
>>25204
да, ядро юникс-подобной ОС just 4 lulz
494 1925222
>>25203
Тебе сказали, что компилятор разберется без твоей помощи.
495 1925233
>>25222
Инлайны не нужны, а сами определения должны быть в заголовке, гнусь и кланг их подставят.
496 1925277
>>25104
Стайлгайд гугла - говно

Если ты не занимаешься какой-то адовой анальной эзотерикой с хардлинками и прочим - pragma once работает
497 1925282
Стоит заниматься долгостроем? Хочу летом после диплома на джуна пойти попробовать и решил перед этим пописать код, много кода. Сделал крестики-нолики на sfml, а с imgui можно выбирать размер поля и менять на ходу интерфейс. Пока игра идёт только против бота с выбором сложности. Хочу к этому всему ещё сделать меню, анимации, режимы, добавить возможность игры по сети, чат, эффекты на glsl лёгкие для анимации и прочее. В общем, хочу сделать на основе маленькой ничем непримечательной игры целый проект с кучей фич. Стоит страдать подобным говном или лучше мелкое что-то делать?
498 1925286
>>25282
А, ещё добавлю, что основная цель этого говнопроекта - практика плюсов, возможно на собесе покажу даже.

быстрофикс
499 1925290
>>25282
>>25286
Охуенная идея, делай. Это гораздо баще, чем куча мелкотни ниочем
500 1925298
>>25282
А где куча фич то? То что ты перечислил люди на конкурсах игр ща неделю делают.
501 1925304
>>25203
У меня в проекте есть ассемблерные объектники, которые отдельно собираются.
И потом эти функции вызываются через указатели.
Так вот, в некоторых случаях в lto даже эти функции инлайнились.
Поэтому this -> >>25222
502 1925315
Анонасы, как готовитсья к код ревью? Я вроде пишу нормальный код и уже давно, но мне на собесе вот только что дали вообще странную вещь, которую я сам бы никогда не написал, например.
Зачем тогда вообще бест практисес какие-то нужны? Я блять не пишу код, который я не представляю, как работает.
А тут от меня ожидают, что я смогу разобраться в чужом нерабочем коде. Еще и без компилятора / гугла.
503 1925317
>>25315
Да никак. Смог - ответил. Не смог - не ответил.
504 1925319
>>25317
Ну вот тоже так думаю.
Хорошо хоть позиция/компания была не прям топовой. Но всё-равно огорчает немного.
505 1925348
>>25282

>> Элитный ЯП для написания критичных частей критичных систем, хайлоада и оптимизации производительности буквально на уровне тактов ЦП



>> Крестики-нолики, GUI, анимации



Пошёл нахуй из этого треда, тебе место на JS-бутылке
506 1925351
>>25348
Ты можешь представить пет-проект с

> >> Элитный ЯП для написания критичных частей критичных систем, хайлоада и оптимизации производительности буквально на уровне тактов ЦП


? Вот и иди нахуй.
507 1925356
>>24571
Спасибо, теперь пишу свой говнокод увереннее

>>24594
Думаю, я напишу свой велосипед для обработки аргументов запуска приложения. Не понял только, что ты подразумеваешь под интерактивным пользовательским вводом.

>>24680
Совсем не понял тебя. А для чего нужен XML? Это форс здешнего треда?
508 1925358
>>25315
Маневрируй. Говори умные слова и делай вид, что всё понимаешь
509 1925370
>>25290
Спасибо, буду пробовать.

>>25298
Это то что в голову первое пришло, да и для них это неделя, а для меня больше, по очевидный причинам. Может ещё настолки какие-то добавлю, а к ним читалку внутрь с паззлами/туториалами для тренировки. В голове много всего есть, но как-то постепенно расширяться хочется и наполнять контентом и функционалом каким-то.

>>25348
Для начала нужно что-то написать, чтобы его можно было оптимизировать. Вот я наговнокодил игровой ии, в будущем кол-во таких ботов увеличится с увеличением кол-ва игроков, тогда можно будет распараллелить это всё на gpu и всю остальную часть переписать на потоках. Не знаю чего ты так порвался сразу, няш.
510 1925403
Что посоветуете дальше.

Я прошел основной синтаксис. Знаю что такое класс, деструктор, конструктор, дружественные функции и классы + шаблоны. Прошел всю STL, основы знаю, но многое так-же уже забыл.

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

Мне нужно знать куда двигаться дальше. Я пробовал изучать по роликам с ютуба, но это все так сложно дается, там столько всего непонятных слов)
511 1925416
>>25403
Qt, Boost Asio, WinAPI.
513 1925425
>>25424
Сейчас бы в 2к22 писать на C с классами.
514 1925434
>>25425
Сейчас бы не знать функции, используемые везде.
515 1925470
>>25315

>А тут от меня ожидают, что я смогу разобраться в чужом нерабочем коде.


Вот действительно, что за безобразие такое.
516 1925476
>>25424
А желательно на русском такого нет?
517 1925481
>>25476
На русском есть только 1С. Брать будете?
518 1925487
У меня дуалбут, на линуксах примерно вдвое быстрее компелирует чем на Win MinGW от Qt, это так должно быть?
519 1925498
>>25476
Любая переведённая на русек книга по сишке, тот же K&R.
>>25487
Не закрывай спойлером, это важная инфа. Да, мингв на шинде медленный.
520 1925507
>>25487
Mingw заметно отстаёт от gcc, там вроде с++20 до сих пор нет.
521 1925533
Эх, вот бы кто посоветовал контент после прочтения Страуструпа. Эх...
522 1925537
ебать на некроноуте clion тормозит, 50+ строк Qt-кода и подсветка и автодополнение начинает отваливаться. Но пайчарме лучше было во много раз, кек.
523 1925559
>>25403

>Что посоветуете дальше.


смотри какие работы востребованы в твоем городе - дворник, охранник, гей-шлюха
если работы вообще никакой нет, то выпиливайся
524 1925565
>>25533
Мейерс.
525 1925593
>>25559

>то выпиливайся


Не выпиливайся, а переезжай
526 1925609
Блин вы такие умные слова используете, наверное десятки лет ворочите код?
527 1925613
>>25609
Работаю почти 2 года, не знаю ничего сложнее деструктора. Задротская хуита для задротов.
528 1925615
>>25593

>а переезжай


в страну вечной охоты!
529 1925621
>>25613
питономакака плес))
530 1925622
Недавно назрел вопрос, будет ли когда-то поддержка explicit для любых функций? Как по мне так это было бы полезно, или я чего-то не понимаю?
531 1925623
>>25621
Чини детектор))
532 1925624
>>25623
что)))
533 1925627
>>25624

>Ничего)))

534 1925631
>>25627
что за перефорс)))
535 1925692
>>25622
Какой use-case?
536 1925714
Хочу пройтись по всему синтаксису с практически нуля, чтобы заполнить пробелы. До этого вскользь по диагонали читал Прату и также вскользь проходил курс яндекса на курсере (3 пояса первых), сейчас в основном только пишу, так как читать сухую теорию не особо нравится, а до майерса считаю что не дорос немного. В принципе большинство тем всё так же помню, разве что с friend классами и методами не пошло, но забыл много деталей, особенно по кастам и binding. Что лучше для повторения взять? Я по тредам прошлым почитал, многие рекомендуют learncpp.com - это нормальный ресурс? Как я понял, его русскоязычный аналог в виде перевода - ravesli.com, откуда даже можно будет взять русскоязычную терминологию на случай всякого типу "инстанцирования" и прочей кальки.
537 1925732
>>25714
Спс, не знал, что ресурсы наподобие learn.jasvascrpit есть и для с++. Не зря сюда зашел.

Лично я учебник с 1000+ страниц не выдерживаю, а вот так зайти на время и пройти пару уроков для меня решение получше.
538 1925755
Анонасы дайтие совет начинающему.
Теория это все конечно круто!
Но вот я созрел(уже давно) до практики скажем так.
Начал писать змейку(на чистом си), в целом легко для меня это, но на стандартных библиотеках она у меня херово работает - лагает и клавиши там не видит и т.д., не хочу сейчас тратить время на отладку или как это называется(понимаю, что это 80% кодинга, но успею еще...)
Нравиться задачки решать интересные, но я их толком найти не могу. Нашел две (нарисовать ромб в консоли(ну там с опр.условиями) и с файлами одна). Реально кайфанул когда их делал.
Остальные либо слишком муторные и там какой то адский матан, в том плане, что я тупо не понимаю, что от меня хотят...Но посмотрев на код решения, вижу, что там все просто в целом и поняв суть я их решу.
Или наоборот легкие. Но в целом все они скучные. Вообщем я не знаю, что в плане практики мне делать(решать задачи, начать что-то серьёзное писать и т.д.)
Какие я вижу варианты:
Вкатываться в Qt, SMFC, OpenGL и т.д. ( и на них уже делать серьезные работы, благо их больше в св.доступе) ну или может что еще? если да, то с чего начать из них?
539 1925757
>>25351
Так я и не вещаю про свои охуительные хеллоуворлды, дебс

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

? Вот и иди нахуй.
540 1925777
>>25755
Если ты змейку на сях в консольке написать не в состоянии, у меня для тебя плохие новости
sage 541 1925778
>>25755

>Нравиться задачки решать интересные, но я их толком найти не могу.


Тут как минимум есть тред с рулеткой проектов, можешь оттуда лёгкие посмотреть. Или пройдись по ката, например https://github.com/gamontal/awesome-katas
Или тебе прям по крестам надо?
542 1925888
>>25692
если я хочу запретить неявное преобразование при вызове моей функции, и не хочу чтобы передавали всякую херобору
543 1925904
>>25888
Ну так у принимаемых аргументов должен быть explicit конструктор, а не у функции. Функцию-то ты явно вызываешь и так.
544 1925956
>>25777
причем тут не могу
я же написал, что это в целом просто для меня. ты не так понял просто
545 1925984
>>25778
что за тред с рулеткой проектов? я в pr кроме этого треда нигде не был
я так понял ты это имеешь ввиду:
https://leetcode.com - задачки
546 1925987
>>25984
все я нашел, что за тред. понятно
547 1926036
>>25622
Strong typing. Т.е. если функция принимает например скорость, то это должно быть не просто число, а объект класса Velocity с explicit конструктором и может ещё, для удобства, созданием пользовательскими литералами (типа 100kmph).
548 1926243
16113053279842.jpg223 Кб, 2048x1356
549 1926269
Посоветуйте либу для Open Office документов (для табличек ods).
550 1926277
>>26036
Понял, спс
551 1926283
>>26269
ты на фото?
16119561674210.jpg30 Кб, 442x534
552 1926377
>>26269
libopenoffice
16119863239220.jpg204 Кб, 650x433
553 1926400
Сегодня чет не заладилось с кодингом...
554 1926439
>>14169 (OP)

>Вместо шапки:


Куча битых ссылок.
555 1926499
Наверно тупой вопрос, но уже не знаю в какую сторону гуглить. Пишу приложение на qt, что-то вроде графического редактора. И до этого постоянно хранил текущие картинки и их параметры в глобальных переменных класса MainWindow. Чую что это не правильно, но хз как нормальные люди делают. Можно в теории в главной функции приложения объявить вспомогательный класс или структуру и передать уже её окну, чтобы он сней работал, но не уверен. Как сделать по канону?
556 1926613
>>26439
Dangling references
557 1926629
>>26439
Всем лень пилить шапку, потому что на самом деле пользы от неё мало. Кто-нибудь загорится инициативой, перекатит с обновлённой шапкой, и ему надоедает. Ещё и нужно морально готовиться к обоссыванию токсиками, которые вечно чем-то недовольны. Изредка кто-то пишет пожелания к шапке, но в целом всех всё устраивает, поэтому никто ничего не делает, и легаси-шапка так и висит по полгода. И так во всех тематических тредах.
558 1926646
>>26439
Use after free
559 1926679
всем привет, аноны
вопрос
короче перекатываюсь из дата сасистного комп зрения в гетеросексуальный: вместо питона - с++, вместо юпитера - clion (или студия) а вместо дрочки моделей - нормальные алгоритмы
но с++ у меня остался на уровне уника
вопрос
стоит ли идти сперва на джуна с++, а потом уже соваться в интересующую область (возраст позволяет, всего 25) или стоит сразу идти за вакасией? а то там пишут "знание stl" а я ебу что для них "знание", это ведь скорее всего "опыт применения" а не знание
короче подскажите плез. как показывает опыт, с++ тред самый адекватный
560 1926684
>>26679
Хуй знает
Как повезёт
Может тыкаться сразу везде и смотреть, как идёт

В принципе, крупные конторы часто берут даже без знаний нужно языка, если чувак с опытом и бэкграундом в хоть каком-то филде
561 1926685
>>26684
бля ссыкотно пиздец конечно завалиться из-за этого на испытательном
562 1926686
>>26685
Да не, как показывает опыт, если после всех собеседов успешно взяли, но уже не завалишься. Ты ж не индус-импостер
563 1926687
>>26686

>то уже не завалишься


Фикс
564 1926689
>>26686
спасибо, чел
а то я ж пиздюк еще, нервничаю немного слезать с нагретого места
но ты помог добрым словом)
565 1926691
>>26689
Да я такой же 25-лвл-пиздюк, вот на этой неделе два собеседа было, на следующей ещё два. Хочу сменить место
566 1926692
>>26691
о, расскажи
чем занимаешься вообще?
567 1926698
>>26679
Перекат в кресты имеет ровно 1 смысл - ты дико угараешь по ебле байтов и т.н. "ТРУЪ ПРОГРАММИРОВАНИЮ". Для денег\карьеры\переезда за бугор и прочее - дата сатанизм лучше.

Если уж вкатываться - то искать похуй какую джуновскую вакансию, и читать книги Скотта Майерса. Когда их все прочтешь и осознаешь - будет считаться, что ты знаешь STL.
568 1926811
>>26679

>знание stl


Одного просмотра https://www.youtube.com/watch?v=2olsGf6JIkU чтобы понять структуру STL (Степанов всё-таки молодец чувак, всё хорошо сделал) и умения пользоваться cppreference вполне хватит.
569 1926903
>>26689
>>26691
25 лвл - это пиздюк? Пиздец, я думал мне в 21 вкатиться нельзя уже будет
570 1926928
>>26903
да не, я с 21 работаю, так что не прям ВКАТ ВКАТ
но хочу отметить, что еби всех в рот, если кто-то тебе будет говорить, что ПОЗДНО вкатываться
особенно до 30 лет
вот прям ссы сверху
будет тяжлее, но не приговор
571 1926929
>>26928
ок.
572 1926930
>>26811
спасибо, чел
говорю же, с++ тред самый адекватный)
573 1926931
>>26811
а теперь вытирай мочу барина и приноси нормальную версию этого видео.
574 1926941
>>26931
а в чем проблема?
575 1926949
>>26941
гои уже настолько привыкли, что не понимают они под сапогом!!! тебя не смущает, что ты сидишь на русскоязычной борде, говоришь на русском, фильмы русские смотришь, а ссылку кидаешь на англоязычное видео?
576 1926966
>>26949
Вам в питонотред.
577 1926968
>>26949
Тебя не смущает, что большая часть документации разных библиотек описана на английском? Если ты не заметил, то это C++ тред, а вот православный 1С там -> >>1795914 (OP)
578 1927073
>>26949
лахтодырый ватник, съеби в 1С тред, не оскверняй лучший тред в /pr своим бесполезным присутствием.
dwm-tiling-window-manager.png30 Кб, 800x450
Как лучше реализовать ассоциативный массив 579 1927212
Гутен таг, товарищи! У меня к вам вопрос по поводу ассоциативных массивов. Это не вопрос про c++ а вопрос про алгоритмы и структуры данных, независимо от языка, но думаю, этот тред лучше подходит.

Короче вопрос: как реализовать ассоциативный массив, чтобы он работал быстро и эффективно и не было коллизий (в случае с хеш-таблицей)

Предполагаемое решение: реализовать в виде разреженного массива, где нечётные элементы - ключи, чётные - значения. Находить адрес нужной пары ключ-значение по принципу хеш-таблицы, затем в том случае если произошла коллизия (сверяем ключи и они разные) методом перебора считываем следующие элементы и ищем пару с нужным ключом (для доступа к существующему элементу) или ищем первое элемент, содержащий null (для добавления новой пары ключ-значение)

Предполагаемое решение 2: каждое множество ключей с одинаковым хешем хранить в отдельном бинарном дереве, в хеш-таблице хранить ссылки на деревья
image.jpg30 Кб, 400x300
580 1927257
581 1927280
>>26679
Чтобы тебя нормально брали на работу какую-то по плюсам, нужен опыт пиздец. У меня у самого опыт байтойобный большой, но академический и в небольших ресерч-проектах, а не такой, что прям коммерческий на огромной кодовой базе. На собесах обоссывают люто конкретно по цпп и практически игнорируя предметную область. Причём дрочил и майерсов и стандарты и цппконы время от времени на протяжении лет пяти или больше.

Сильно не советую в цпп залезать. Я наоборот думаю в машин-леринг залезать, раз с математикой всё норм и образованием, потому что бесят блять долбаебы эти байтовые, которые спрашивают то, что они сами знают, а не то, что нужно блять.
Им похуй, что люди бест-практисес учат, чтобы как-раз избегать непонятные ситуации и не использовать ебанутые конструкции языка, в которых непонятно, что происходит. А додики ожидают, что ты будешь разбираться, как любая маленькая хуйня работает.

А если у тебя реально знания на уровне универских лаб - очень жидко обосрешься. Не слушай хуесосов в треде про какие-то истории, где берут на работу чуваков без скиллов. Да блять, в люксофты всякие может и берут. Но в нормальной международной компании - тебе хуем по губам проведут. Я тебе это сам говорю, как чел, позаканчивавший всякие мгу и с норм резюме.
582 1927306
>>27280
Пиши названия контор и их вопросы, как раз в люксофт хочу поступить
583 1927319
>>27212

>ассоциативный


>@


>массив


хех, мда

Не знаю, чем тебе не подходят обычные хеш-таблицы. Которые и так разруливают коллизии примерно как во втором примере.
584 1927336
>>27280
Я ей сразу сказал: "не смей жиреть". Не люблю сильно толстых баб.
585 1927439
>>27212
Первое это обрезанный вариант разрешения коллизий методом открытой адресацией. Абсолютно непонятно, зачем тебе разрежать массив это усложнение, не дающее преимуществ. Насчёт пробирования - ты описал линейное, там ещё другие варианты есть.
Второе это разрешение коллизий методом цепочек, но твое дерево в таком случае (из-за равенства ключей у узлов дерева) выражается в список. Что собственно и используется в этом методе. Обычно, хеш-таблицы таким образом и делают, т.к. тебе не нужно перестраивать таблицу при её заполнении
586 1927478
bool (*lambda)(std::string_view) = [](std::string_view str) -> bool {
__return str.find("ABC") != std::string_view::npos;
};

auto lambda = [](std::string_view str) {
__return str.find("ABC") != std::string_view::npos;
};

Как в случае auto происходит указание параметров, передаваемых в лямбду?
587 1927488
>>27478
Авто просто выводит типа, т.к. знает что это. И кстати, оно выведет не указатель на функцию, а анонимную структуру с оператором ().

Если тебе нужен указатель на функцию - то это auto zalupa = +[](){};
588 1927492
>>27280
блин не сразу увидел твое сообщение
а куда подавался? где сейчас работаешь? свалил с крестов таки?
589 1927493
>>27492
>>27280
ну где не всм название конторы - лишний раз то деанониться не надо
я про предметную область
590 1927494
>>27280
слушай, ты, конечно, прав
но хуй знает
сейчас, как я вижу, вообще такое деление в АЙТИ:
1) заполняешь формочки и ебашишь их в БД (бэкэнд)
2) вротэнд клепание формочек и кнопочек
3) дрочишь модель, которую разработали аутисты за лет 5 до тебя и допиливаешь ее точность новой порцией данных (читай: перекладываешь джисоны а ля математик) (сюда входит и МЛ и зрение, только у зрения еще эвристики ебашишь, и весь весь Дата саенс)
4) Байтоебля
хуй знает куда идти, хуй знает
хочется чего-то нормального, но либо я где-то не так смотрю, либо ИТ это нихуя не романтика а сплошь рутина
ну или идти в стартапы (Где не платят нихуя и не норм условий (в 70-ти процентах))
591 1927496
Раз уж за работу зашла речь, то за сколько вкатились на джуна байтоебить? Когда поняли что готовы веслать, а не просто страницы в книге листать?
592 1927497
>>27494

>хочется чего-то нормального, но либо я где-то не так смотрю, либо ИТ это нихуя не романтика а сплошь рутина


Вообще все программирование - это рутина. Там где не рутина - там нужны подскакиватели кабанчиком и чесатели языком, которые тебе все нарежут на тасочки "положи жсончик в БД", "нарисуй формочку".

Рядовой технический специалист - винтик. Я бы шел вообще в девопсню сейчас, имхо там наиболее интересно.

>>27496
Все максимально индивидуально. Я вкатился за 8 месяцев, кто-то не вкатится никогда.
593 1927505
>>27280

>Чтобы тебя нормально брали на работу какую-то по плюсам, нужен опыт пиздец


Есть два сценария. Хороший, когда ищут спеца на конкретную тематику (ты будешь писать псевдокод и обсуждать концепции). Плохой, когда ищут эникея++ (ты будешь дебажить на бумажке какую-то синтаксическую залупу, о которой читал лет 5 назад).
Второй, очевидно, случается чаше.

>Им похуй, что люди бест-практисес учат


Бест практикс сначала перестают быть бест, а потом за них начинают пиздить ногами. Например паттерны GoF или sfinae.
В каждой конторе своё представление о том, что для них бест.
594 1927509
595 1927517
>>27509
Сделай цепочками, так в стандартной библиотеке сделано (хуево, но работает)
596 1927609
>>27478

>Как в случае auto происходит указание параметров, передаваемых в лямбду?


Так, как ты написал. Про что вообще вопрос?
597 1927645
>>27319
Не, ну в лиспах alist вполне себе используется.
598 1927659
>>27609
Смотри, когда мы определяем указатель на функцию сами, мы должны указать, какие типы примет лямбда. bool (*lambda)(std::string_view) = ...
С авто - нет. Как это работает?
599 1927681
>>27478
>>27659
А здесь как по-твоему это происходит?

struct Huyambda
{
bool operator()(std::string_view str)
{
return str.find("ABC") != std::string_view::npos;
}
};

Huyambda huyabmda = Huyambda{};
600 1927725
>>27505
хочешь сказать, что кресты рил байтоебля? Где бы ни была? А как же комп зрение?
601 1927726
>>27497
все больше осознаю, что есть смысл получить лет 7 опыта и хорошую инженерную базу
а затем съебать в менеджмент и прочую залупу
602 1927740
>>27726
это вполне такой вариант. Но я смотрю, как мой манагер проставляется очеллом 24х7 и сидит на митингах в полночь с пятницы на субботу - ну его нахуй. А учитывая, что он спалился по пьяни, что получает столько же, сколько и я...
603 1927744
>>27740
такой лол, что даже кек
а ты какую позицию занимаешь? мидл? сеньер?
604 1927746
>>27740
>>27744
я это к чему
насколько я знаю, если ты из сеньера вырос в какой-либо вид менеджера, что хуй с ним с ЗП, у тебя открываются новые ступени роста, уже НЕ технические
605 1927786
>>27740
В инженерном деле везде так. Начальник нижнего уровня (тимлид, начальник группы и т.п.) это рабочая лошадь, которая тянет на себе и возню с работягами и технические пердоли. А вот дальше уже те самые должности (деливери директор, продукт овнер, начальник отдела и т.д.), на которых можно булки расслабить.
606 1927807
>>27725
Что для тебя есть байтоебля?
Машинное зрение на плюсах это написание математических либ типа OpenCV (с оптимизацией через asm/cuda/simd/ipp и прочее).
607 1927829
>>27659
Но у тебя после квадратных скобок список параметров, его и берет. Кстати в нем тоже может быть auto, тогда это будет как шаблон работать.
608 1927845
>>27659
Лямбда - просто анонимная (для программиста) структура с оператором(). auto просто выводит эту структуру.
609 1927848
>>27494
Не совсем правильное у тебя деление. Есть ещё эмбеддед, и он тоже бывает разный. Есть такой эмбеддед, где ты помимо того что C++ разработчик, так ещё и питонист, и гуи делаешь для пользователя на чём придётся (иногда на веб технологиях вообще, сам учишь какой-нибудь фреймворк), и с датчиками всякими железными общаешься, и в целом следишь, чтобы продукт годный был, и ещё всякие математические инженерные задачи решать приходится на бумажке. Вот это интересно, если только сроки даются адекватные и ресурсы.
610 1927850
>>27744
Сеньор

>>27746
В больших конторах можно дальше стать там всяким принципалом, стаффом и тд. Я вот на принципала сейчас задрачиваю, менеджмент нахуй.
611 1927853
>>27807
у меня нас крестах нет опыта работы - только Си (где прям байтоебля пиздец) и питон - как раз для зрения
и вот я часто вижу на ХХ в вакансиях по зрению необходимость С++. Я всегда считал, что кресты им нужны для оптимизации узкий мест
а так ли это - хз
ровно как и хз на каком уровне это нужно знать
612 1927888
>>27848
Чем отличается от вышеупомянутого веба и байтоебли?
613 1927901
>>27888
Тем, что ебут со всех сторон 24x7.
Я на таком проекте работал и сгорел нахуй за два года. Просто физически не вывезти матан+железо+веб+систем+девопс. Бесконечное обучение, бесконечная гонка за сроками. Но интересно, да.
Мимо другой анон.
614 1927905
>>27494
Ещё есть кровавый enterprise.
615 1927906
>>27848
Ой блять, это называется на дуде игрец, который нихуя толком не умеет, разрабатывает костыльную хуиту и работает по всяким Концернам "Залупки".
616 1927910
>>27901
сам сейчас в похожей залупе РАБотаю (потому что ебанутый СЕО платит деньги когда сам посчитает нужным + сама по себе зп не очень большая)
хочу съебать во всеми ненавистные ОГРОМНЫЕ КоНтОрЫ, в которых, как все говорят, нет развития, но хоть есть плата за твои труды
а поразвиваться я и дома при желании могу
програнье проганьем, а еще жить успевать надо
617 1927914
>>27910
огромные конторы огромным конторам рознь. Но если хочешь развиваться - то надо будет кабанчиком подскакивать и самые интересные таски воровать.
618 1927915
>>27914
я мб мечтатель
но почему-то хочу попрбоваться в SberDevice (ну или любое другое модное направление сбера), ABBY, хуявей и прочие
есть смысль ? мб тут есть аноны из названых\похожих по масштабам?
619 1927917
>>27915
Лучше на Align Tech смотри и любимую Нвидию
620 1927921
>>27906
Ещё это может быть мелкая контора со "стартапом" или аутсорс галера.
621 1927923
>>27917
Спасибо) а те, что я назвал - отстой?
я просто 4 года в стартапах проработал и состояние дел хз на рынке
622 1927927
>>27921
да тут и стартап стартапу рознь
в стартапах тяжело - если у тебя хоть один из сооснователей\менеджеров ебанутый - страдают все и ты с этим нихуя не поделаешь
623 1927930
>>27915
Хуявей хантит в очень малых объёмах и только топчиков в своей сфере. В дань азиатским традициям там потогонка и не пролезть выше тимлида.
624 1927932
>>27930
потогонка это шо такое?
625 1927936
>>27917

>Align Tech


Странная хуйня. Собеседовался, спрашивали хуйню, менеджер словно заучил задачки и ожидал, что я буду ему прям как по решению рассказывать и подвисал, когда я ему говорил очевидные вещи. После второго собеса послали нахуй.
626 1927939
>>27936
а что спрашивали?
627 1927943
>>27932
Это много работать с утра до вечера под китайским присмотром.
628 1927949
>>27901
А по ночам полы драить заставляют?

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


Если контора не "Рога и Кпыта Лтд" то каждая из этих сфер съедает почти всё время и работы и обучения; ты 90-летний вассерманопердун видать, раз на должном уровне владеешь такого объема стеком
629 1927952
>>27932
Когда тебя до пота гоняют.
630 1927955
>>27943
Звучит заманчиво, что там по баблу?
631 1927959
>>27949
Ну около 10 лет ковыряюсь, так что почти 2/3 стека я знал.
632 1927966
>>27923
ABBYY хз, но знакомый чел оттуда сьебал спустя полгода, что-то это говорит.

Хуавей нахуй, я туда собесился в субботу, и собеседующий китайчонок сидел в офисе. Т.е. это судя по всему работать 24х7

Сбер - вот блять не знаю. Знаю, что платит, но не знаю, каково там
633 1927971
>>27966
а шмяндекс?
634 1927975
>>27971
Яндекс это интересная контора. Вроде и престижно. и в резюме запись хорошая.

Но
1. безумное собеседование
2. денег платят меньше
3. сама работа говно
4. абсолютно юзлесс техстэк, где у тебя ya make вместо гита. какая-то левая хуйня вместо гита, яндекс тикеты вместо Jira и прочее.
635 1927976
Раз уж начали говорить про компании, как Сименс? Помнится на одной конфе спикер оттуда был, вроде адекватный.
636 1927982
>>27975

>ya make вместо гита


вместо любой системы сборки, самофикс
637 1927998
Что такое байтоебля
image.png150 Кб, 296x370
638 1928002
639 1928008
>>27998
Это когда начинаешь юзать битовые поля в структурах.
640 1928011
Коль начали про компании, работал/собеседовался или вообще слышал кто-то что-то про Artec3d? Смотрю на него уже давно.

Отзывы в интернетах не лестные, но думаю зааплаиться скоро и не хочется обосраться от неожиданной хуйни.
641 1928014
>>28008
А ещё выравнивание, endianness, работа с кэшем и, конечно же, ABI.
642 1928020
>>28011
бамп вопросу
643 1928067
>>27939
Было дело давно. Спрашивали глубоко по цпп, стл. Задачки были ебанутые, словно менеджер нагуглил их где-то вместе с решением и ожидал это конкретное решение. А на очевидных вещах подвисал.
644 1928073
>>28067
Задачки по 3д в смысле.
Может сейчас и не так и мне менеджер странный попался. Ну и он какой-то бред задвигал. Я спрашиваю, это его тима занимается кадом и рендерингом? Он говорит, да и начинает рассказывать про какой-то анализ данных.
645 1928074
>>28073
а пример задачек по 3д не помнишь какой-нибудь?
646 1928089
>>28074
По аналитической геометрии. Нету смысла что-то более конкретное рассказывать.
Но я чёт сомневаюсь, что там решение взять тебя на работу как-то коррелирует с твоими знаниями по математике. Странная хуйня реально. Как-будто они и не собиралсь брать изначально.

я так-то работал в геймдеве и подходил по стеку полностью
647 1928120
>>28089
ну может и такое быть
648 1928215
>>28074
Меня на одном собесе попросили найти площадь треугольника со сторонами 1, 2 и 3.
649 1928242
>>28215
и в чем проблема, формула герона жи?
650 1928243
>>28215
типа ты должен был ответить что такого треугольника не существует что ли?
651 1928246
>>28215
бля ну нахуя такое спрашивать
как это вообще характеризует работника
652 1928248
>>28246
это проверка на старость
очевидно что 17ти летний кунчик вспомнит нужную формулу, тк они шкалку вчера закончил, а 25ти летний дед-пердун может уже и забыл!
653 1928250
>>28248
лучше бы паспорт посмотрели)
654 1928252
помню в моей жизни был очень долгий собес (порядка 4-х часов)
и как же удивительно, но все эти 4 часа были охуено адекватными: тебе и задачки норм дают, и очень подробно спрашивают про прошлый опыт (причем реально слушают, а не для галочки) и про мотивацию пиздите
короче с теплотой вспоминаю
до сих пор жалею, что решил сменить направление и съебал
655 1928269
>>27681
Да всё, понял-понял, не ворчи
656 1928285
>>28248
Дед интеграл посчитает.
657 1928286
>>28285
так половину определителя матрицы, построенной на векторах
не?
658 1928295
>>28252
Помню в моей жизни также было. Крупная контора два технических собеса по 3 часа и два собеса с менеджментом. На месте оказался люто проёбаный по срокам проект. Сьебал оттуда через 8 месяцев и ни разу не пожалел.
1607227106431.webm9,9 Мб, webm,
1280x720, 3:44
659 1928301
660 1928325
>>28286
Половина векторного произведения. Но интеграл обобщает решение задачи и позволяет кодить шире и глубже.
661 1928326
>>28325
>>28286
Вы чё, долбаебы? Если у нас будут даны вершины, то задачу решить можно хоть на пальцах. У нас даны только длины сторон. Не говоря уже о том, что там площадь ноль.

Мы вам перезвоним кароче.
662 1928330
>>28325
ну да, я ебень
забыл название векторного произведения)
>>28326
ну да я ебень, забыл про формулу героина
663 1928334
>>28330
Да, но векторное произведение определено только для векторного пространства R3.
664 1928339
>>28326
На пальцах только лабы решаются. Правильный подход - восстанавливать по облаку точек brep модель, запилить nurbs движок и через api верхнего уровня работать однообразно с любой геометрией.
665 1928356
>>28339

>облако точек


>3 случайных числа


У нас нету точек в пространстве, уебывай с собеса уже, заебал.
666 1928358
>>28356
Мы их восстановим по неполным входным данным.
667 1928360
>>28356
Есть такое понятие как геометрическое место точек. По тем числам, которые указаны, можно факторизовать векторное пространство и на отдельно взятой фактор группе решить твою задачу.
668 1928364
>>28356
Ты рвёшься, как будто это собес по pyrhon.
669 1928385
>>28360
бля ты откуда так матан знаешь алло
давай, скажи еще что тебе до 25, чтобы мы тут все точно охуели
(но вообще молоток канешн)
670 1928401
>>28285
я вот помню что интеграл это типа площадь под кривой, а для чего дифференциал нужен уже забыл ((
36 lvl
671 1928403
>>28339
я бы посоветовал воспользоваться одной из неевклидовых геометрий, ибо по другому производить рассчеты в 21 веке - моветон
672 1928416
>>28401
Касательная к графику. При приращении по dx, расстояние dy до графика. Это дифференциал
673 1928442
>>28014
Бинарные протоколы и эмбед
674 1928444
>>28416
ппц я деградировал ((
я в школке на олимпиады гонял :P
675 1928445
>>27998
Какая нибудь обработка изображений с 16 бит на канал. Получил проект с файлом raw_ebala.cpp
676 1928554
>>28360
Что за магические слова? Где такому учат?
677 1928555
>>28554
Фактор-группам этого ёбаного умника научили, а неравенству треугольника нет. Нахуй надо так учиться.
678 1928625
Сап, парни. Поясните нубу за общепринятый способ объединения объектов путем композиции.
Есть класс Part объект которого будет частью объекта класса Main.
Part должен инициализироваться какими-то данными по этому я вынужден реализовать два конструктора для него, первый будет использован в строке 32, второй (нужный мне, который передает данные внутрь Part) в строке 34 справа от оператора "=". При этом, если я не ошибаюсь и судя по выводу, справа создается временный объект Part, его внутрянка перемещается в объект созданный в строке 32 и он (временный) уничтожается. Если объект класса Part будет выделен в куче, я могу конечно изначально объявить лишь указатель на него и напрямую использовать его конструктор в конструкторе главного класса без лишних телодвижений, но если я не хочу его хранить в куче, получается много лишних телодвижений:
--новый объект с конструкторов по умолчанию
--новый объект2 с нужным конструктором
--перемещение
--деструкция объекта2
Это так принято что ле? Или есть более тру путь.
а если я хочу Part⚹ p_array = new Part[10] и каждого проинициализировать, например for (int x=0; x<10; x++) p[x] = Part(x*x);
это получается 20 конструкторов и 10 деструкторов. Непонимат.
Есть догадка что просто нужно делать кастомный конструктор void init(int some_data); и вызывать его для уже созданного объекта, но хотелось бы услышать мнение гуру итт.
679 1928642
>>27906
Зато, по-моему, можно потом свою контору открыть, или же стать техдиректором (или как эта должность правильно называется). Ведь ты уже знаешь, что и как работает, что с чем сочитать, как должен выглядеть готовый продукт и на что можно ставить акценты. Но пока работаешь действительно вечно что-нибудь новенькое и ты ни в чём до конца не успеваешь разобраться. Но весело.
680 1928748
>>28625
Убираешь для парт дефолтный, если не нужен. Инициализируешь в списке конструкторов членов (или как там это правильно называется)
Main (int some_data) : p(some_data) {}
В этом случае р сконструируется как надо до вызова самого тела конструктора Main.
681 1928792
Сап, двач. А я напомню. В язык C++, появившийся в хуй знает когда нормальный класс "СТРОКА" появился только в 2017 году. И то никто не использует.

Хотя бы можно делать constexpr std::string_view

Но похуй на это, у ВАС в вашем кодбейзе который ВЫ пишете будет своя строка. Или folly подрубите.

А знаете что у вас ещё в коде есть? Свои самописные примитивы для работы с многопоточностью. Какие-нибудь LOCK(cs_hui) или LOCK2(cs_hui, cs_pizda);

А знаете что ещё у вас есть? У вас http запросы асинхронные делаются через самописную либу, которая на базе asio работает.

Чё ещё сами пишите?
682 1928801
>>28792
Шиз, какое тебе дело до крестов? Что тебе так не сидится в своих растах-шарпах-прочем говне?
683 1928803
>>28801

Я на крестах пишу...
684 1928814
>>28792
всегда пользовались std::string'ом, все ок...?

Никаких самописных локов, только shared\unique_lock и стандартные мютексы

хттп запросы делаются через libcurl.

> Чё ещё сами пишите?


Мало того, что ничего, так еще и прошлые легаси самоделки активно выкидываем
685 1928817
>>28792

>никто не использует


Почему никто не использует? Я использую. Но я пишу для удовольствия или когда поебаться хочется.
686 1928864
>>28814

Может это мне говнокоды попадаются. Я видел что все очень любят эту хуйню. Даже в опенсос продуктах
687 1928890
>>28864
Большая часть "программистов" не умеет программировать.
Иногда во время жизни проектов рядом с ними "пробегают" спецы, которые наводят порядок в каком-то умеренном смысле.

Те редкие обсуждения продвинутых концептов или дезайн аппроачей, которые можно встретить в треде, на реддите или в качественных блогах — это 0.01%.
688 1928893
>>28890
По сути как и с богатством.
Если у тебя инкам больше 50к$ в год, то ты уже входишь в 1% самых богатых людей на земле.
Так что всё логично.

Если можешь накидать сервачок / кастомный аллокатор / логику с очередями / всё предыдущее во многопотоке / условную змейку и при этом соблюсти чистоту кода, основные best practices, const correctness, правильно применять мув семантику и темплейтить там, где надо ( а не везде / нигде) (плюс иметь опыт с несколькоими ЛЮБЫМИ либами), то ты УЖЕ в микропроценте лучших плюсовиков.
689 1928894
>>28890
>>28893
Собственно, отсюда и получается, что в блогах старающихся и гитхабах реально потеющих — всё красиво. А всё остальное — лютая помойка вместо кода.
690 1928907
>>28890
я тебе скажу немного больше. Даже там, где люди умеют программировать - обычно бэклог на год, который нужен был позавчера.

Редко где дают время сделать заебись.
691 1928911
>>28907
Тоже верно
692 1928946
>>28893
Ща бы в C++ треде с мув-семантикой и темплейтами выебываться, когда тут каждый второй школьник контрибьютит в какой-нибудь MPL.

Всё, что накидано в твоём простофильном посте - уровень максимум хай джуна, с учётом всех этих "чистот кода"
693 1928948
>>28946

>уровень максимум хай джуна


Чот кек
694 1928949
>>28946

>каждый второй школьник контрибьютит в какой-нибудь MPL.


Каждый первый школьник тут только new int[5] делает, а потом спрашивает, как массив в функцию передать
695 1928952
>>28792
Стандартная либа подходит только для laba2.cpp поскольку дает только некий общий метод.
В реальных проектах естественно свои строки, в текстовом редакторе одни, например ropestrings, в базах данных другие, в гуи третьи.
Это же язык для быстродействия, а не для макак.
696 1928999
>>28952

Я не против нестандартных либ. Я про то что нет нормального человеческого набора пакетов для белых людей. Так же как и нормального менеджера зависимостей. У нас даже логер свой.

Зависимости настолько сложно ебать, что народ просто подумал что проще свой за 2 дня написать и не ебаться
697 1929000
>>28949
как массив в функцию передать?
698 1929018
>>29000
Funkcia(massiv);
699 1929046
>>29018
Всё гениальное просто.
700 1929127
>>28999
мы вцпкг допилили и счастливы. Теперь вырезаем всякое говно самодельное, и юзаем нормальные вещи, типа spdlog
701 1929160
>>28999
Просто кидаю сорцы в папку, желательно header-only, вот тебе и вся зависимость.
702 1929173
>>29160
Потом сборка десять years
703 1929215
>>26377

> Library requires OpenOffice installation on computer and works thought its components.


ну не так же
704 1929220
>>28248
это проверка на зомби, нарисуй в голове треугольник
705 1929222
>>29160
просто кидаю сорцы в папку, конечно же хедер онли, урчу пока шаблонодобро три часа компилируется
706 1929224
>>29222
Билд сервер, не не слышал
707 1929225
>>28792
Ты ещё вспомни когда стл-контейнеры литералами разрешили инициализировать и лямбды завезли
708 1929228
>>29224
дебилд сервер
709 1929236
>>26283
Я, только не угнетай плз
710 1929247
>>29236
не думаю что тебе нужна работа программистом с такой внешкой
711 1929251
>>29220
помню в начальной школе родители хотели меня запехнуть в "элитный" математический лицей, там на экзаменах (в 3м классе) была и такая задача - давали карандаш и на пустом столе из карандаша нужно было сделать треугольник - решение: приставить этот карандаш к углу стола
и прочие подобные охуенные задания (типа для чего нужны круглые люки и прочая параша)
естественно я был в полной прострации от подобных "математических" логических задач
а потом уже узнал что для поступления в этот лицей тупо нанимали репетиторов которые малолетних детишек тупо натаскивали на эти задачи - говорили им решение чтобы они запомнили
до сих пор охуеваю с этой системы и надеюсь что подобное образование провалит эту страну на дно где ей и место
712 1929254
>>29251
так почему люки круглые то?
713 1929304
>>29254
чтобы черепашкам-ниндзя удобней было! ты первый день в /pr что ли ?!
714 1929316
>>28385
Чёт проигрываю. В 6 лет идут в школу, в 17 в универ, в 23 получают диплом о высшем образовании. Теорию множеств изучают на 1-2 курсе, то есть примерно в 18-19 лет. Видимо вот этот вот >>28555 застрял в 17ти летнем возрасте со своими неравенствами.
715 1929325
>>28445
Да можно все задачи по конвертации цветовых пространств смело записывать в байтоеблю: bayer-rgb-hsl-yuv-grayscale-cmyk. Причём даже не тех, что для CV, а тех, которые нужны в полиграфии и рендерёжке PDF подобных документов на разные экранчики.
716 1929329
>>29127
А потом начинаем дико орать, от того, как долго компилится проект и сколько гигабайт зависимостей перед этим надо выкачать.
717 1929332
>>29316
В 7 лет ходят в школу.
718 1929333
>>29332
В /pr отсчёт начинается с 0.
719 1929359
>>29329
так бинарное кэширование же. ВЦПКГ собирает один раз, пакует в нугет, заливает в гитлаб, и дальше оттуда скачивает. У нас все депы скачиваются 40 секунд, и то, потому-что ебучий AWS SDK жирный как мамка абу.
720 1929378
Хорошую книгу по algorithms and data structures посоветуйте, пожалуйста. На английском.
721 1929380
>>29378
Седжвик или курсы на куросере от Tim Roughgarden
722 1929424
>>29380
Курсы охуенные, главное задания по ним делать
прошел их несколько лет назад, теперь в гугле работаю
723 1929433
>>29316
Ты только невежество своё выпячиваешь. Неравенство треугольника входит в аксиоматику понятия метрического пространства. Не знаешь аксиоматику == не знаешь науку, что бы ты там ни пиздел.
724 1929506
>>29316

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


>ряяя йа математек ахуиный ряяя


Ты же додик блять, который нихуя не умеет, ты о чём вообще?
16113136272390.jpg278 Кб, 1012x1600
725 1929521
>>29251
Братан, очень интересно что ты пишешь (лол диднт рид), но если у треугольника сумма двух сторон равна третьей стороне то очевидно он вырождается в линию. У меня ушло на осознание этого десять секунд. У тебя на это ушло самообладание.
726 1929526
>>14240
В мсвц с неконстант экспрешоном не скомпилится (если в функцию размер массива параметром передавать например), в жисиси всё нормас
727 1929530
>>29254
потому что отверстия под них круглые, очевидно же
728 1929539
>>29254
Чтобы рабочий их мог перекатывать с одного района на другой. Они же тяжелые. Как ты будешь перекатывать квадратные люки?
729 1929542
>>29254
Потому что катить проще, чем тащить.
730 1929543
>>29521
В отрезок он вообще-то вырождается. А тня на пике вырождается в комок жира.
731 1929559
>>29530
>>29539
>>29542
А я думал, для того, чтобы люк не мог провалиться в отверстие.
732 1929561
>>29559
А ты хорош
733 1929579
>>29559
Чтобы попилить на сэкономленном металле, дурашка.
734 1929598
>>29543

>А тня на пике вырождается в комок жира


Вообще-то сиськи топ
735 1929601
>>29424
>>29380
Благодарю
736 1929669
>>14739

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



Ну вот в рантайме есть переменная х. Далее я уменьшаю стэк--поинтер на х байт. нахуя конпелятору там чтото знать?
737 1929713
аноны
есть вопрос
вот у меня есть камера и я снимаю с нее фреймы с помощью opencv
вопрос: как мне лучше передавать данные с камеры в алгоритм? через отдельный поток или через обычный while True и вывзов методов в этом вайле?
Для масштабируемости что лучше?
738 1929722
>>29713
Мне кстати тоже интересно.
Если я хочу, например, в OpenGL приложении рендерить куб с текстурой - фреймом с камеры, как это лучше всего сделать? Каждую отрисовку загружать через OpenCV картинку - это же медленно будет, не? Как это нормальный разраб сделал бы?
739 1929723
>>29722
ну я вроде вижу что люди в отельный тред пихают
но не уверен, что так нормальные разрабы делают (я чел который задал вопрос выше)
740 1929724
>>29713
формируется буфер, на входе которого новые данные, на выходе забираются данные на обработку
так справляются с тем что обработка может не успевать за новыми данными
специализированных структур данных для этого полно
741 1929726
>>29724
ну то есть все-таки потоки
742 1929755
>>29726
я не знаю что у тебя за платформа
может нужно в однопотоке делать, тогда асинхронкой
743 1929758
image.png11 Кб, 911x113
744 1929963
Перехватил в игре вызовы функции WSARecv. Почему этот код выводит в консоли одни пробелы? Мне нужно чтобы выводилось хоть что-то. Пробовал выводить через printf("%02X ", lpBuffers->buf); но кроме 00 00 00 00 00 00 ничего не выводится. Игра точно получает данные от этой функции. Где я ошибся? Куда копать?
745 1929983
>>29963
БАМП НАХУЙ
746 1930048
>>29251

>помню в начальной школе родители хотели меня запехнуть в "элитный" математический лицей, там на экзаменах (в 3м классе) была и такая задача - давали карандаш и на пустом столе из карандаша нужно было сделать треугольник - решение: приставить этот карандаш к углу стола


У меня такая задача была при распределении по классам при поступлении в первый класс. В обычную, не математическую, школу.
Только вместо карандаша была одна спичка.
747 1930080
>>29963
А хрен знает. Длина буфера проставляется? Попробуй выводить по одному все символы.
748 1930159
>>29963
Может быть у тебя игра первым байтом принимает нули, так что и char строка и %02x также будет возвращать нули. Попробуй пройтись по всему буферу, а не только первому байту:

const int len = lpBuffers->len;
const char
buf = lpBuffers->buf;
printf("WSARecv (%i bytes): ", len);
for (int i = 0; i < lpBuffers->len; i++) {
printf("%02x ", buf);
}
printf("\n");
749 1930160
>>30159
Извини, парсер съел индекс i у buf в printf-е и звездочку у char :(
i-9DJsXLN-X3.jpeg197 Кб, 1600x1067
750 1930163
см. https://macton.smugmug.com/Other/2008-07-15-by-Eye-Fi/n-xmKDH/
Сука, жизненно, что пиздец просто. Берём язык, ради скорости требующий от программиста чуть ли не за яйца себя укусить, и пишем на нём отборное пхпшного уровня говно. Потом ещё на конфу съездим, расскажем как у нас на go получилось то же, только быстрее.

Сейчас вот как раз пытаюсь исправить код, в котором на каждый кадр обходится таблица 12812832, в которой хранятся, сука, индексы в map, из которого нужно достать bool и сунуть в такую же таблицу - это типа кэш блять.
751 1930196
>>30048
ну да, потом эта "мода" перекинулась и на обычные школы
752 1930269
>>30163
Да в общем-то обычный рефакторинг. Дрочильня на пике скорее от безысходности. Там ещё интересный момент есть - know the stats. Обычно из кода нихуя не понятно, под какие цели именно вот так вот легли операторы и откуда высрались вот такие вот коэффициенты в функциях. Такой себе magic number только размером в десятки или сотни строк.
изображение.png148 Кб, 1189x749
753 1930385
Спасибо тем, кто просто сказал программировать.
Прикл крутящийся куб, сделанный по учебнику вулкана.
754 1930393
>>30385
В тысячу строк хотя бы уложился, на вулкане-то?
755 1930404
>>30269
Ну так автор пика и призывает сразу думать, что пишешь. Тут еще такая проблема не озвучена: бывает, код или оптимизируется сразу, пока он не вырос, или уже никогда, т.к. у него все шансы быть равномерно размазанным по коду, где он будет отжирать 1-5% общего времени кусочками по 0,033%, но никогда не попадет напрямую в найденные профайлером хотспоты, и ты не поймешь, что копать надо его. Я вот сейчас с этим столкнулся - после первых легких +20% скорости уперся в глухую стену.
756 1930422
>>30404
Не, так дела не делаются. Нужно думать над грамотным разбиением кода на логические блоки. Оптимизация блоков и их частичная замена это уже заключительный этап, когда у тебя есть the stats. И как раз это даёт возможность эффективно профилировать.
757 1930426
>>30404
Я довольно часто сталкивался с тем, что предыдущий писатель думал не над формой, а над содержанием и его мелкие оптимизации превращали код в кусок бетона. Такой код уже не поддаётся рефакторингу и дальнейшей оптимизации.
758 1930438
>>30385
теперь из куба осталось игру сделать
759 1930441
>>30438
Больше разных кубов, примитивная физика, камера - вот и убийца майнкрафта.
760 1930490
>>30426
Мы как бы в c++-треде, да? Ну, знаешь, треде про язык, само использование которого - в 98% случаев само по себе преждевременная оптимизация? Очень, очень странно растаскивать код просто по логическим блокам и уповать на профайлер, когда у тебя ещё пока чернила на доске не высохли уже должно быть понимание, за счет чего c++ тебе должен обеспечить большую скорость.

Я вот сейчас копаю код, в котором такого понимания не было, и в профайле нет ни одной пригодной для оптимизации функции, занимающей больше 0,5% общего времени. Все тут заебательски инкапсулировано, разбито на милые сердцу функции по 3-15 строк, покрыто юнит-тестами и адово тормозит. А знаешь, чем код занят 20% времени? Обнулением, блядь, памяти для новых промежуточных объектов в куче. memset-ом.
761 1930549
>>30490
Ну так напиши свой аллокатор памяти, если у тебя выделение в куче тормозит. Я тебе ещё раз напоминаю: самый большой прирост дают алгоритмы и структуры данных (ты же сам написал, что ты переделал хуёвые контейнеры и получил +20%), затем идёт работа с железом и только потом тонкости использования языка.
762 1930554
>>30404

>люди говорят про оптимизации


>между тем сидишь с кодом, в котором на каждый чих делается boost::shared_ptr даже если, сука, можно было выделить просто на стеке переменную и есть конструкции вида map<string, map<string, string>>


Но ничего, понемногу прорывается свет наружу.
763 1930561
>>30490
Видимо тебе дали задачу впихнуть невпихуемое. Требуют х4, но ты на пердячей тяге максимум можешь наковырять х1.6.
764 1930562
>>30393
~1600 Но там треть наверно скобки и коменты.
765 1930579
>>30490
О, здесь надо запостить кулстори, как я срезал 40% времени загрузки нашего компонента.

Оказалось, что каждый LOG(...) это открытие файла, запись в него, ФЛАШ НА ДИСК, и закрытие.

Когда я переделал все на буферизированный логгер (есть нюансы, что переписывание на нормальный логгер заняло бы дохуя времени, но это уже скоро случится) - вот логирование стало занимать микросекунды. вместо ~10 секунд лул.
766 1930588
>>30579

>но это уже скоро случится


Даже интересно стало, какие сейчас народ логгеры делает. Самописный? Spdlog? Boost.Log?
767 1930591
>>30549
Ну так и я про то же: раз уж взялся за c++, сначала определи, чем он тебе поможет, и потом ебашь. Подход "пиши как опердень на джаве, потом профилируй" не работает - под конец разработки уже поздно перекраивать хранение данных, т.к. они к тому времени могут быть раздроблены по 500+ классам, как у меня. Такая вот противоположность преждевременной оптимизации, когда оптимизировать уже поздно. Истина, как всегда, где-то посередине, просто раз плюсы заточены под производительность, то и думать о ней надо раньше. А то получается в руках профессиональный инструмент за большие деньги, а руки из жопы.
768 1930592
>>30588
Сейчас анальный самодельный копрокал, будет spdlog
769 1930593
>>30591

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


ИНКАПСУЛЯЦИЯ
770 1930598
>>30579
У меня похожая хуйня: 20МБ json-ов парсятся десять секунд. Почему? Потому что "чтоб быстрее" json-ы парсятся на лету по мере чтения с диска, а для парсинга делается lookahead в один символ (напр. чтобы отличить пробел, строку, объект или массив)... этот самый символ берется тоже с диска вызовом read(). На каждый байт - 2-10 read-ов. Убрать это говно нельзя, т.к. писал тимлид и я не могу сказать ему, что он мудак.
771 1930602
>>30579
Ну так а если на следующей строчки после лога у тебя программа вылетает нахуй и в итоге не пишет этот лог потому что флаша небыло.
772 1930603
>>30602
будет коредумп, который уже разберем
773 1930619
>>30490

>Обнулением, блядь, памяти для новых промежуточных объектов в куче. memset-ом.


не криптуха случайно? если криптуха, то хуй ты иначе сертификацию пройдешь
774 1930621
>>30619
Хуйня, там нужно зачищение только ключевой информации, а не всего на земле
775 1930648
>>30163
Какой-то ноунейм ревьюит код другого ноунейма и придирается к наличию дефолтного енум-значения, без которого не обойтись в некоторых случаях. 2008 год.
Причём придлирки настолько мелкие, что если там и будет прирост производительности, его надо будет атомными часами обнаруживать. Вот это ужас - вместо захардкоженого предела (который мб и не изменится), поставить задефайненое значение - как дальше жить. Про алгоритмы, предложения по смене структур данных на более эфективные ни одной писульки нет, хоть этот мамкин ревьюер судя по всему в предметной области разбирается
776 1930703
>>30196
Когда потом?
image.png212 Кб, 604x489
777 1930707
778 1930722
>>30703
во второй половине 90х
779 1930732
>>30722
Ок, я кокрас в конце девяностых шёл в первый класс.
780 1930766
>>30732

>кокрас


Вскрикнул от смеха на весь Бангладеш

>в конце девяностых шёл в первый класс


Давно это было, да?
781 1930811
>>30598

>20МБ json-ов парсятся десять секунд. Почему? Потому что "чтоб быстрее" json-ы парсятся на лету по мере чтения с диска, а для парсинга делается lookahead в один символ (напр. чтобы отличить пробел, строку, объект или массив)... этот самый символ берется тоже с диска вызовом read(). На каждый байт - 2-10 read-ов. Убрать это говно нельзя, т.к. писал тимлид и я не могу сказать ему, что он мудак.


Может просто готовую библиотеку взять? Типа модно стильно молодежно.
На худой конец отобрази файлы в память, чтобы никакого диска.
782 1930813
>>30811
Блин, не отобрази, а создай виртуальный раздел в памяти для этих жсонов, или что-то подобное.
image.png299 Кб, 735x620
783 1930816
>>30766

>>кокрас


>Вскрикнул от смеха на весь Бангладеш


Учи мемы, чтобы не быть батхёртом.

>>в конце девяностых шёл в первый класс


>Давно это было, да?


Пикрил.
784 1930838
>>30816
А ничего, что нарисовать такое и я могу? Вообще-то.
785 1930845
>>30816
Это мем из будущего.
786 1930863
>>30648

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


Вот практически про тебя и сокрушаюсь. Если ты не понимаешь, как писать быстрый код и почему каждый бранч в горячем цикле - как серпом по яйцам, если для тебя непонятно, почему условие над float-ами должно оставаться float-ом, то зачем ты вообще пишешь на c++? Объективно, код на джаве пишется быстрее, работает везде и менее подвержен ошибкам. Денег там тоже наверняка больше.
787 1930923
>>30863
Я готов с тобой поспорить, что Performance это баззворд, и готовить его умеют в 3.5 конторах, типа хуяндекса. В обычных проектах (не хуйлоад) - даже профилировать не умеют нормально.
788 1930963
>>30863
Во первых я ничего про это сравение и не написал, хотя это из того же огорода. Вместо того чтобы подумать как улучшить вещи, гораздо сильнее влияющие скорость, чел предлагает копаться в отличиях сравнений. Если такие охуенные так идите всё ассемблируйте, хули к высокоуровню вообще притрагиваетесь?

Во вторых судя по твоей истерике от сравнения на несколько бит больше это тебе серпом по башке в детстве слегка ебанули, вот ты и стал полоумным

В третьих иди нахуй кончено же
789 1930965
>>30963

>Если такие охуенные так идите всё ассемблируйте, хули к высокоуровню вообще притрагиваетесь?


Бывает, приходится, но, к счастью, редко.
790 1930978
>>30923
>>30963
Гоните его в петушиный угол. Пусть там крохи наносекундные собирает.
791 1930979
>>30963
Короче, ты порвался. Дурачок, плюсы - это и есть современный ассемблер. И непонятно, что ты делаешь в треде плюсов, если не умеешь в низкоуровневые оптимизации, которые практически единственное плюсов применение. Какие, нахуй, вещи у тебя на скорость влияют, дебил? Это 3д графика, в каком-нибудь офлайн рендере через такой код могут проходить десятки миллиардов точек на кадр, а просранное по вине кривого кода время может стоить твою месячную зарплату ежедневно. Даже просто в реалтайм графике просер таргета по числу треугольников на кадр чреват задержкой релиза на месяц и больше, пока художники будут переделывать ассеты.
792 1931109
>>30979

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


Кек
793 1931184
>>30979

>десятки миллиардов точек на кадр


Заменяются LOD с десятками миллионов точек (это такие структуры данных, мань)
Если ты про научный рендер под всякие CAE, то он масштабируемый на несколько железок (снова алгоритмы и структуры данных под балансировку).

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


'это не твоя проблема, что техлид проебался с оценкой железа или язык в жопу засунул, когда ему ТЗ на проект выдали
794 1931220
>>31184
Тот анон, конечно, преувеличивает, но ты вообще маня, ничего не слышавшая про компьютерную графику.
795 1931240
Есть ли смысл вкатываться в GameDev? Правда ли что там постоянные переработки и горящие релизы но деньги больше чем в других областях? Сейчас около 3 лет опыта на плюсах в computer vision.
796 1931260
>>31240

> Сейчас около 3 лет опыта на плюсах в computer vision.


Можешь описать чем занимаешься?
797 1931294
>>31260
Алгоритм для подбора рекомендуемого контента по вебке. Замечал, что фап треды вовремя появляются?
798 1931306
>>31260
Распознавание лиц
799 1931346
>>31240
Ты рофлишь блять? Геймдев в рашке это хуита с инфантильными дегенератами и самой низкой по рынку зп. В то время как в твоих компьютер вижнах можно получать лютые деньги, работать в крутых международных компаниях и заниматься каким-нибудь ресерчем, а не код писать по 8 часов в день.
Я тебе уебу щас.
800 1931366
>>31220
Ты меня убедил.
801 1931372
>>31346
А разве нет международных компаний в GameDev? Вроде как по зп столько же предлагают что в других отраслях.

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


Это больше про науку и исследования а не разработку ПО
802 1931377
>>31372
Есть места, где платят в валюте, но и конкурс соответствующий.
Вообще есть смысл поработать в gd, но не засиживаться там (чисто на опыт, который может очень пригодиться в cv).
А так, cv более перспективное направление (и по деньгам и по условиям труда).
803 1931378
>>31372

>А разве нет международных компаний в GameDev?


В рашке - нет, конечно. Есть только оутсорс всратый.
И даже нормальных российских компаний, где кто-то пишет свои движки/тулзы/что-то интересное - несколько штук всего. С лютой конкуренцией и хуевыми условиями.

> Вроде как по зп столько же предлагают что в других отраслях.


Нет. Ты экономику не наебешь. Когда к тебе идут додики-геймеры без личной жизни, готовые за дошик работать целыми днями и которые поувлеченнее тебя - нахуя платить больше?

>Это больше про науку и исследования а не разработку ПО


Ну а в геймдеве что ты делать будешь, не зная предметную область? Тесты писать или гуи делать? Это вообще вдвойне дно.
804 1931437
Анончик, помоги, нужно до середины лета джуном стать. Знаю синтаксис языка с учётом стандарта 11 года (ну как знаю, книгу просто закончил и листал другие, понятно что я знаю практически нихуя), STL какую-то часть, алгоритмы и структуры данных на теоретическом уровне (лекции с ютуба). Но при этом ничего не писал толком, только стрёмные книжные задачи и на кодварс немного. Куда копать, что писать и делать эти 5 месяцев? Свободного времени по 8+ часов в день. Вакансий на джуна хватает (всего ~500 на плюсах по городу), нужно только как-то доползти к нему.
805 1931455
>>31437
сходи лучше сначала в армию, там станешь хакером, быт программистский разведешь, разные либы будешь в роту водить, говнокод с пацанами обсуждать, а то пойдешь сейчас и в итоге твой план не тратить время на вуз заменится тратой времени на догонялки с военкомом, к тому же к выпускнику 11 класса предвзятое отношение будет
806 1931457
>>31437
блядь, хуею с таких как ты. Ты будто грузчиком на работу хочешь устроиться и ебашить скривя рожу ради денег? Кодинг же должен хоть немного удовольствия приносить ну хоть в начале и интересовать тебя. А если интересует так разве сложно придумать себе задание? Какие-то технологии которые интересуют копнуть хоть что-то. Или тебе ничего не интересно, тогда зачем тебе программирование изучать? Да сядь хоть парсер для начала напиши тех же ini-конфигов.
807 1931534
>>31378

> В рашке - нет, конечно. Есть только оутсорс всратый.


А что насчёт Wargaming?

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


Геймплей писать
808 1931537
>>31534
wargaming кстати ном
809 1931538
>>31537

>норм

810 1931541
Ананасы, предложите идею для проекта, хочется написать что-то достаточно сложное и интересное, то что будет не стыдно поместить в портфолио.
811 1931543
>>31534
Ice-Pick Lodge прикольные игры делает
812 1931550
>>31543
Да, но у них постоянно деньги заканчиваются потому что из Дыбовского плохой продюсер и они просирают половину времени занимаясь не зная чем прежде чем полностью изменить концепцию и начать сначала
813 1931551
НЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕТ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
814 1931552
>>31534
Что варгейминг? Ну есть варгейминг, да. Если ты не ненавидишь танки и всякие самолеты всей душой, как любой нормальный человек - вперед работать за лоу прайс.
815 1931561
>>31551
Аллаха ради, лучше учи пайтон и вкатывайся во что угодно, а не трать годы на бесперспективную хуиту из-за самоподдува даунов с харкача про тру программирование, разработчиков в свитерах и всё такое прочее.
Ты тут общаешься с бомжами-ноулайферами от мира айти, уже практически контуженных плюсами и ни на что большее не способных.
Разработчик С++ среди остального айти - это как шизойд в обществе нормисов. Он думает, что он самый умный и самый охуенный, делает там что-то важное и пиздатое, но на деле он просто пердолится какой-то никому не нужной хуйней и все считают его долбаебом, кем он и является.
816 1931562
>>31437
аноны, а есть ли такой город в мире вообще где есть 500 реальных вакансий на джуна с++? где это Эльдорадо Для Вкатывальщиков..
817 1931567
>>31551
нахуя такое давать в вузах? это же вуз, блядь
там фундаментальные знания должны давать
а не базовый синтаксис очередного скриптового языка
818 1931568
>>31346
А что за фин тех скажешь?
819 1931571
>>31567
Были C/C++/C# и TASM. Теперь вот ЭТО в расписании. Лишь бы только не обязательная эта хуйня, ну пожалуйста!!!
820 1931572
>>31561

>Разработчик С++ среди остального айти - это как шизойд в обществе нормисов.


в моем мухосранске рыночек этих долбоебов (и меня в частности) уже порешал - работы вообще нет
кто успел, тот вовремя соскочил на другой хуец (явку), или сбежал в столицы, а остальные сдохли или подыхают, естественный отбор, епт
821 1931573
>>31571
В твоём мухосранске, вангую, даже в продвщицы и дворники вакансий нету.
822 1931574
>>31573
>>31572
Промазал.
823 1931575
>>31571
в вузе вообще не должны ЯП давать
должны давать теоретическую базу, чтобы ты шарил за семантику, чтобы тупо очередной говноязык глянул и понял че там за семантическая модель и через неделю начал на нем ебашить
824 1931577
>>31573
в продавцы есть, тк это самые отстойные работы
а вакух дворников и правдо мало, потому что это чиловая работенка! проскакивают вакухи мыть подьезды, но, как понимаешь, это уже не то
825 1931578
>>31575
Но у нас же патерны-хуятерны были всякие, вся хуйня.
826 1931579
>>31577
А как же какашки, блевотина всякая, трупы собак/кошаков? Дворник это не только собачье говно листьями осенью заметать.
827 1931580
>>31578
это не то
вам должны были давать теорию о языках программирования, какие семантические модели существуют, какие модели исполнения и прочее
базу для того чтобы в будущем ты сел и за неделю понял как писать на новом яп
828 1931582
>>31579
нихуя, дворник тупо метет тротуар или чистит его от снега
если ты от него потребуешь собачье говно с газона убрать, он пошлет тебя на х.й
829 1931583
>>31580
Сами разберутся, не маленькие.
830 1931622
>>31568
Смотря какой. Понятно, что кабанчики всякие и везучие разработчики в деньгах полураспильных и наебанных купаются.
831 1931623
>>31575
а потом говорят, что после вуза хуй работу найдешь
надо и то и то давать и не выебываться
832 1931624
>>31571
ты ебанутый? тебя хотят к рынку подготовить, а ты выебываешься
ебанутый
Screenshot at 2020-12-23 19-24-13.png12 Кб, 728x119
833 1931629
Ребят, кто-нибудь в хуавей аплаился на с++ какой-нибудь в неважно какую команду? Что там вообще спрашивают? Расскажите плиз, если кто-то что-то знает, я уже заебался по собесам ходить и обсираться от нерелейтед хуйни.
834 1931632
>>31624
Современный ИТ рынок это писать "сделай заебись" и получать на выходе какое-то уродливое нечто, умоляющее поскорее убить его, и жрущее ресурсы ЭВМ как не в себя, хотя оно толком ничего особого и не делает? Это, блять, рынок?! Говнотон не предназначен для продакшена, это язык для проверки теорий.
835 1931636
>>31632
ага ага, иди таблетки выпей
питон вполне спокойно применяется и все ок
а ты давай дальше дрочи на свои кресты
836 1931637
>>31636

>свои кресты


А что тут делаешь ты? Тоже дрочишь на кресты?
837 1931638
>>31629
А ты нам что?
838 1931639
>>31638
Хуй покажу. С супом.
839 1931641
>>31637
а мне интересна была история про чувака который в геймдев собирался перекатиться
а на крестах не пишу
840 1931642
>>31637
>>31641
я пару лет байтоебом побыл - и на си писали и на крестах
и съебал
в пизду
841 1931643
>>31629
нужно знать engrish и придти на собес в пиджаке
увеличишь свои шансы на 300%
но кресты, желательно поближе к железу тоже надо знать
842 1931646
>>31638
Ну, я всегда рассказываю про собесы в треде, если кто-то что-то спрашивает про компанию, куда я апплаился. И в целом контрибьючу дохуя вам тут, например.
843 1931650
>>31643
А что значит поближе к железу? Дрочиться с ассемблером и годболтом?
Кэш-френдли код вроде пишу, хуйню не делаю, что еще нужно?
844 1931655
Вкатывальщик крестов итт поясняет за пухон. Знаю его 8/10. Очень приятный язык для тебя, словно стихи пишешь, но как только нужно реализовать что-то серьёзное все непременно сталкиваются с медлительностью. И начинается постоянная борьба за производительность, рефакторинг, оптимизации ещё ещё но ты чувствуешь потолок установленный тебе языком и его тяжело преодолеть. Кресты конечно в сравнении с питоном сложнее для тебя хотя по-моему мнению за счёт того что просто имеют на несколько порядков больше подводных камней. сам же язык для меня лично оказался не столь страшным как пугают, просто нужно перестроиться на статическую типизацию но они больше ориентированные на железо. Приятно чувствовать в руках инструмент дающий тебе больше возможностей пусть даже тебе пока тяжеловато и ты толком не умеешь ещё им пользоваться. Алсо, я не говорю за работу, спрос и рынок. Хуй знает что там я никогда не работал кодеманкей и не планирую. Программирование моё хобби отвлекающее от невроза и дурных мыслей.
845 1931687
>>31655

>ясняет за пухон.


хуево поясняешь
а надо отталкиваться от того, для чего создавался язык, смотреть его дизайн
а создавался он для детишек, для обучения программированию
и сразу становятся понятны решения, принятые при выборе семантики и синтаксиса этого языка
любого прогера, знакомого с теорией яп (либо его выдрочили в норм вузике, либо он это получил самообразованием) тошнит от питона
846 1931691
>>31687
Не сгущай краски как скриптовый язык для прототипов он годен. Не одними детишками обойдется. И нишу занял тоже обширную. Кто и кресты обсирает дай бог но меня это не остановило в плане их изучения.
847 1931801
>>31687
мань, не нужно возвышать язык, только потому что он байтоебский
питон это и бэк, и мл, и скрипты для сборки
и много много чего
а еще он НЕ создавался для обучения. Он создавался для амоебы (Гугли). Простота позаимствована от АВС. И вот именно авс создавался для обучения, а не питон

>любого прогера, знакомого с теорией яп (либо его выдрочили в норм вузике, либо он это получил самообразованием) тошнит от питона


лол бля, а в твоей шарашке-парашке не знают, что питон написан, вообще говоря, далеко не последним человеком в компьютерных науках?
а ну да, работникам ООО РогаИКопыта всегда виднее (ну либо ты просто даун) как должен выглядеть просто многофункциональный скриптовый язык
848 1931865
>>31687

>теорией яп


Компиляторы? Формальные языки? Теория типов? Модели вычислений? Операционные и денотационные семантики? Я не понял тебя.
849 1931980
>>31865

>


>Компиляторы? Формальные языки? Теория типов? Модели вычислений? Операционные и денотационные семантики? Я не понял тебя.


da
850 1931992
>>31575
В итоге будут тебя этой теорией про семантику дрочить и без практики интерес просто угаснет. Куда лучше вместо этого преподать несколько языков разной семантики с практическими задачками на них.
851 1932024
>>31457
Самому для себя можно какую-нибудь совершенно бесполезную хуйню придумать, где потом будешь заниматься рисованием каким-нибудь и дизайном геймплея с решением задач по физике, потом забьёшь и джуном так и не станешь.

>>31561
Вообще, новые проекты на плюсах кто-нибудь сейчас начинает? Ну, кроме редких движков для игр и высокочастотного трейдинга. Десктопные приложения и графические интерфейсы к железкам переводят на веб - со всякими электронами проще, гибче, быстрее и красивее, кросс-платформенность обеспечивает веб-движок. Я писал несколько лет разное, в том числе не очень низкий эмбеддед, что-то на плюсах, что-то на сишке, но пришёл к выводу, что плюсы для этих проектов вообще не были нужны (да и сишке в них тоже мало места), так что считай пилил легаси проекты, которых по хорошему быть не должно. Вот думаю, или плюсы дальше дрочить и вкатываться в какую-то область, или вкатиться во что-то другое - в эмбеддед, системное программирование, мобильную разработку, благо в последней можно работать из дома (хоть и рынок более скучный в основном).
852 1932411
Такш, ну што ш. Прочитал Страуса, прочитал ravesli, всё закрепил видосами simplecod`a. А что теперь делать то? Что писать, что читать, что учить? Я тупо в прострации. Советов, пожалуйста.
853 1932476
>>32411

>А что теперь делать то?


Читать Шилдта/Рихтера, чтобы перекатиться в дотнет.
854 1932617
>>29669
бумп блять. где это синьор?
855 1932626
>>32617
Потому что стандарт этого требует, компилятор соответствует.
856 1932647
>>29669
В языке нет таких понятий как стек-поинтер уменьшаемый куда-то там.
857 1932658
привет двач
у меня мечта переехать в США и работать в топ продуктовых компашках типа спейс икс и прочих (на самом деле пиздец мечтаю в спейс икс или тесле)
но в ближайшие года 3 я вряд ли съебу (по личным причинам)
поэтому вопрос: какие компании, помимо яндекса будут иметь весь за бугром + набраться хороших знаний? я в дс если что
о себе: 24 года, есть опыт байтоебли (2 года на чистом си) есть полтора года опыта в гейдеве. Образование топ вуза по релевантной специальности 6 лет
858 1932675
>>32658

>какие компании


Да похуй, лишь бы пиздато ебашил
859 1932680
>>32658
Ну такое. Если в сосничестве хотел велосипед, то потом оказывается что уже не хочешь.
Если тебе надо портфолио, то вкатывайся не в российские компании, а в представительства зарубежных. Интел, хуавей, нокия, нвидиа и прочие.
860 1932708
>>32658
Для того, кого ты описал - ты спрашиваешь полную хуиту.
861 1932718
>>32626
это не ответ на тот вопрос.
>>32647

>регистров не существует


ясно
862 1932724
>>29669
это и есть VLA. Почитай почему VLA не рекомедуется использовать и не стандартизируют.

И, и еще есть _alloca, который может при инлайнинге нахуй взорваться
863 1932737
>>32718
Ну и причем тут твои регистры и язык с++?
Язык с++ отвечает за свои конструкции, ему надо следить за всякими областями видимости, вызовом всяких конструкторов деструкторов вовремя и так далее.
Снимок экрана от 2021-02-07 00-28-40.png67 Кб, 565x603
864 1932834
Посмотрите плиз на 19 строчку. Почему так сделано в этом языке что указатель на элемент массива не нужно разыменовывать, т.е. надо писать без звёздочки?
865 1932836
>>32834
Потому что operator[] в данном случае — обертка над сдвигом указателя и разыменованием
866 1932839
>>32836
вот это надо будет запомнить
867 1932858
>>32834
arr - это синтаксический сахар для *(arr + i), так ещё зо времён древней сишки. Кстати, это позволяет писать странные конструкции i[arr].
868 1932859
>>32858

> arr[ i ]


Ебучая макаба, бля.
869 1932862
Есть какой-то актуальный список/чарт свежей литературы для С++ на ангельском, потому что в шапке помимо ньюфаг-книг какое-то устаревшее говно мамонта на русике (?).
870 1932907
сёма, как называется проблема разделения строки/списка на подстроки/подсписки чтобы при конкантенации они давали изначальный список?

допустим есть abcd, и это можно разбить на 2^(len(abcd)-1) возможных вариантов:

a,b,c,d
a,b,c d
a,b c,d
a,b c d
a b,c,d
a b,c d
a b c,d
a b c d

для наглядности записал в столбик без кавычек, ну и видно что разделителей можно поставить так и на тех местах, как единицы появляются в бинарном счёте. но это не обязательно, было бы даже пизже, если б была сортировка по колличеству фрагментов. сёма, помоги как такое примерно на плюсах сделать для строк/контейнеров произвольной длинны.
871 1932908
>>32658
никак не сможешь. едь в америку тогда.
872 1932910
>>31650
лошок
написано же - знать инглишь
а ты сразу, о, поближе к железу, а что бы там поизучать понизкоуровней! лошара, буду писать код в промежутках между онанизмом
когда нормальные пацаны зубрят инглишь, накидывают пиджачок на плечи, закидываются веселящими таблетками на собес и устраиваются на 500+к и это в нищей россии где обосраный работяга за заводике 17 рублей получает
поссал на тебя на всякий случай
873 1932915
>>32411

>А что теперь делать то?


вакансии дворников, грузанов в пятерочку в твоем мухосранске есть еще? или все занято уже? если последнее, то хз
тихо жить на мамкину пенсию, как она помрет, пропьешь хату, а сам вешайся
874 1932933
>>32907

>сёма


Значение знаешь?

Самое простое - рекурсией.
875 1933015
>>32933

> >сёма


> Значение знаешь?


Повар-боец!
876 1933040
>>33015
Нет такого звука, или СОма, или ШОкукеги, никаких сё.
877 1933041
Шокугеки конечно.
878 1933061
>>33040
Сёма на Сёкугеках угощает голубцами с говном
879 1933072
Идти на собес? Меня резко пригласили, но я даже не подовал. Смущает, огромное количество требований.
880 1933074
>>33072
на собес точно идти, полезный опыт получишь. Устраиваться в контору после оффера или нет - это совсем уже другой вопрос.
881 1933083
>>33061
Ты ещё ЖЖ темы найди.
882 1933090
>>33072
Видимо это то что надо знать на 200.
883 1933096
>>33072
Такого диапазона быть не может.
884 1933111
>>33096
Может. Бывают вакансии, где берут и мидлов (100) и сениоров (200). На собеседовании понимают кто ты есть.
885 1933173
>>33040
Ты чо умничаешь, пёс. С Сёмой я может и загнул, но ショ куда ближе к сё, чем к шо. Скорее всего, общепринятый вариант транскрипции со мной согласен, но это ещё проверить надо.
886 1933216
>>33072
Мне Лохсофт регулярно раз в 3-4 месяца пишет, хотя я им не подовал.
Это обычная рассылка на всех кто по результатам поиска подошёл.
Требования всегда пишут с избытком. Реально достаточно ~20-30% от написанного.
Предлагаемая зп - вычитаешь ндфл, берёшь по нижней границе + 10-15%.
887 1933271
>>33173
Он ближе к що, бакагайдзин.
888 1933300
>>33271
Я тоже так раньше думал. Но спорить об этом бессмысленно, я полагаю.
889 1933562
>>32933
рассказывай как это рекурсией сделать
890 1933643
>>33562
Перебираешь все элементы
Откусываешь от списка элементы, вызываешь рекурсивно с остатком
891 1933648
>>32910
Так я знаю ингриш и достал уже батин пиджак.
892 1933661
>>33643
конкретнее можешь набросать? можно даже псевдокодом. я уже с этими играми индексами головой теку.
893 1933678
>>32907
По идее можно задачу свести к генерации сочетаний.
a 1 b 2 c 3 d 4 e 5 f
На множестве пробелов m = {1, 2, 3, 4, 5} получить все сочетания из n = 1, n = 2, n = 3, n = 4, n = 5 элементов. Короче, генерация C из m по n.
894 1933689
>>33678
Говнокод примерно такой:

using cm_t = std::set<int>;
void get_Сmn(cm_t& m, const int n, std::vector<cm_t>& result)
{
if (m.size() > n)
for (int i = 0; i < m.size(); ++i)
{
auto m1 = m; m1.erase(m);
get_Сmn(m1, n, result);
}
else if (m.size() == n)
result.add(m);
}
895 1933693
>>33689
В цикле получишь все комбинации пробелов для нарезки строки:
for (int n = 1; n < string.size(); ++n)
get_Cmn(m, n, result);
15539647702410.jpg41 Кб, 407x295
896 1933704
>>32858

>странные конструкции


cout << (rand() % 5)["pizda"]
897 1933790
Суп ананасы. Хочу контрибьютить в кде, а ничего кроме плюсов там не нужно.
Пишу на питоне, го, жс.
Какой сейчас самый актуальный учебник по плюсам?
898 1933794
Что можно написать в отрыве от технологий, фреймворков, либ? Просто плюсы с STL и больше ничего, чтобы синтаксис задрочить и чтобы подводные повсплывали. На мысль только приходят всякие системы типа банка или магазина, где можно писать собственную иерархию классов и задрачивать не задачки с кодворс, а ооп уже именно. Что можете подсказать по этому поводу?
899 1933797
>>33794
Напиши СУБД типа sqlite.
900 1933815
>>33111
100 это джун
901 1933817
>>33815
Если так, то настоящий джун - а не говно без опыта с лабами
902 1933952
>>33817
А кто тогда говно без опыта с лабами?
903 1933954
>>33794
Все что можно в консольке написать - от утилит типо туду листа, до физических симуляций и графических движков
904 1934014
>>33952
Trainee
905 1934015
>>34014
Или интерн
906 1934198
Сап, нас тут в вузе на "компьютерной графике" учат с++ Opengl, я гуглю про него, и что-то нихуя свежего нагуглить не могу, это устарело?
907 1934202
>>34198
Не устарело
908 1934210
>>34198

> нихуя свежего


Ты про glTranslatef и glVertex3f с примерами на WinAPI? Да. это устарело, но для laba1.cpp пойдёт.
909 1934213
>>34202
А почему вся инфа в гугле с 2010х годов тогда
910 1934214
>>34213
Гугли на английском, там современное будет.
911 1934220
>>34198
Сам ОПЕНГЛ - да, подустарел немного.
Но ты без проблем на нем можешь написать йобу уровня Last of Control Eternal. Да и сами принципы и идеи компьютерной графики нихуя не изменились в последнее время, кроме рейтресинга.
912 1934221
>>34210

>glTranslatef и glVertex3f


в точку
913 1934222
>>34221
Вот это пиздец устарело, это OpenGL 1 или 2. А вот трешка и дальше - уже ок.
914 1934224
>>34198
Говорят что https://learnopengl.com/ нормально для современного OpenGL. Metal и Vulkan нужны только для уберзадротства с гпу.
915 1934226
>>34222
Для laba1 сойдет, какая разница.
916 1934230
>>34226
Хотелось бы что-то полезное учить просто, может и сам какую-то йобу захочу сделать, хоть вуз пригодится мб
917 1934231
>>34226
так то ты прав. И именно на такой хуйне писали КВЭЙК ДЖВА
918 1934233
>>34230
Чел, от писания кода на устаревшем опенгл есть охуенная польза - ты практикуешься в написании кода.
919 1934234
>>34224
Спасибо
920 1934235
>>34230
Оно полезное, всё что угодно полезное.
Думать и писать код в любом случае приходится.
921 1934237
>>34230
Посмотри в сторону графических движков - Ogre, Irrlicht, Qt 3D. На голом опенжл охуеешь писать.
922 1934244
Спасибо за ответы
923 1934268
>>14169 (OP)
Аноны, пишу большое 3х мерное приложение на с++ с opengl. Собственно, уже был до этого опыт написания больших прил. и у меня было всё в одном исходнике, я очень путался в нём.

Не подскажите как лучше всего разделять большую программу и где об этом почитать, чтобы не путаться в ней. Я не работаю программистом, а пишу это для своей основной работы, прошу помогите мне.
924 1934278
>>34220
Рейтрейсинг же тоже старая тема, помню рейтрейсинговые рендереры (рендеровщики?) для блендера ещё в середине нулевых были. Или сейчас он сильно продвинулся вперёд?
925 1934280
>>34278
В первую очередь разговор про апи типа DXR или VulkanRT про которое никто ничего не знает
926 1934295
Что лучше, контрибьютить в опен-сорс или пилить свои проекты?
927 1934314
>>34278
>>34280
>>34220
Рейтресинг не просто не новый, он самой первой компьютерной графикой и был. Уже потом придумали делать растрезацию (рейтрейсинг наоборот) и придумали для этого видеокарту, которая именно растрезацию и параллелит. А так были и для рейтрейсинга аппаратные юниты какие-то дико оверпрайсные, которые не взлетели.
Касательно АПИ, рейтрейсинг тоже делался до rtx понятное дело на gpu, просто с rtx ядра дополнительно для этого завезли.
928 1934324
>>34268

>Не подскажите как лучше всего разделять большую программу и где об этом почитать,


Ну, clean architecture например.
929 1934325
>>34295
Что интереснее.
930 1934337
>>34295
Однохуйственно. Закончишь всё-равно на работе с легаси говном.
931 1934338
>>34324
спасибо
932 1934395
>>34295
Пилить свои проекты. Опенсорс в гигатонны раз сложнее.
933 1934777
бля, поцонва
короче вопрос к вам всем (если увидете это сообщение в Си треде - не обессудьте, похожий вопрос просто)
короче я вот школотрон 23 лет, в этом году заканчиваю шарагу
в ООО РогаИКопыта я занимался топовыми задачами, связанными с железом (ну всм не один тянул проект, а в команде в роли ждуна) типа датчиков в металургии, контроллеров приводов и прч штуках
занимался этим два года
но есть трабл - в этой конторе даже у руководителей зп 45-50, у меня ее вообще нет - чалюсь там только из-за кайфа работы с реальным железом и я вот хочу сменить профессию
но смотрю на хабр карьеру/ххру - пиздец
из ОЙТИ одни жанги\спинг\датасосист
а из с++ одни оптимизаторы вычислений
че, все вообще плохо? я зря учился роботов программировать 6 лет бля?
934 1934833
>>34777

>че, все вообще плохо? я зря учился роботов программировать 6 лет бля?


Да, эмбед это самое дно по зп. На том же хабре можно посмотреть статистику.
935 1934886
>>34777

>а из с++ одни оптимизаторы вычислений


Норм
Но не только
936 1934891
Глупый вопрос.
Как в Qt реализовать карту, например, компьютеров. Основые функции - добавление, удаление и редактирование свойств сих объектов на карте. Если же это ад и геморрой писать такое на Qt, то что может подойти?
937 1934907
>>34833
отстой
>>34886
а что еще?
блять.png127 Кб, 788x961
938 1934979
Петян, что за залупа? хочу отсортировать вектор с битсетами по количеству единиц в битсете. есть ж sort, которому можно передать функцию сравнения, ну или определить operator<, всё просто думал я, но нихуя не выходит.

где-то при определении функции сравнения я обсираюсь с темплейтом. помогай.

https://pastebin.com/4b1MXZ9t
939 1935009
>>34979
count_compare<4> в аргументах std::sort
940 1935017
>>35009
то есть для произвольных битсетов работать не будет?
941 1935018
Товарищи, как джуном вкатиться? Студентота первый курс. Алгосы и структурки вроде знаю, на кодфорсесе 1800 рейта, деревья вертеть умею. По плюсам знаю почти всю программу курса от яндекса на курсере, стл от майерса и сложные задачи саттера курил, на цппквизе большую часть желтых решаю спокойной, но хоть сколько-то больших проектов не писал ни разу, только домашки типа длинной арифметики, листа, тайплиста. Что вообще делать дальше?
942 1935019
>>35018
бросить вуз, найти работу?
943 1935020
>>34979
У тебя битсеты разной разной длины, а аргумент шаблона только один, следовательно компаратор только битсеты одинаковой длины принимает. Допиши вторую длину просто вторым аргументом шаблона.
944 1935021
>>35019
Так епта как ее найти, везде опыт просят, и то что я знаю на данный очевидно не хватает на джуна.
945 1935043
>>35018
с третьего курса ищи интернатуру.
946 1935047
>>35043
А в чем шутка?_?
947 1935063
>>34777
Похожий вопрос про новые проекты бампану
>>32024
948 1935132
>>35047
ни в чем? Первокура никто не возьмет никуда. А с третьего уже все подрабатывают.
949 1935335
>>35063
Большая часть RnD приходится на окологосконторы, в которых ты работать не станешь. Коммерческие конторы предлагают либо легаси либо аутсорс какой-то части проекта их контрагента.
950 1935535
>>35021
>>35043
>>35018
Блять, чел, может для тебя будет сейчас это откровением, но никому нахуй не всрались твои верчения деревьями. На цпп нету работы без предметной области. Оллимпиадное программирование - это чисто академическая хуита практически без приложений, особенно в россии.
Если ты придешь на работу и скажешь я последние несколько лет вместо того, чтобы учить предметную область или хотя бы цпп, переписывал задачки с одного сайта на другой и умею писать говно в метод мейн и нажимать кнопку Compile, тебя просто пошлют нахуй.
Любой программер нормальный знает базовые алгоритмы/структуры данных, при этом никогда не занимавшись никаким олимпиадным программированием. Всё это существует исключительно из-за блажи всяких Яндексов и Гуглов, которые пиарятся среди студентов и чтобы хоть как-то разделять дебилов и не дебилов рабов и не рабов, используют такое вот беспонтовое задротство.
951 1935538
>>35535
интересно
соглашусь
мимо другой чел
952 1935547
>>35535
причем на самом-то деле обидно
я вот хотел бы работать в яндексе в отделе беспилотных автомобилей, тк у меня и диплом на эту тему и в стартапе похожем два года оттарабанил
в целом то, даже готовлюсь туда пойти
но так ебет конечно, сперва нужно литкод ебучий задрочить, потом алгоритмы тоже именно ЗАДРОЧИТЬ
вообще збс, что на собесе тебе нужно деревья разворачивать, а на работе, внезапно, матрицы расклыдвать
953 1935584
>>35535

>На цпп нету работы без предметной области


Двачую, приходишь такой на собес на джуна в итоге тебя закидывают вопросами из предметной области и не берут. Типо они серьезно блять думают, что кто-то вот сидел дома занимался такой нишевой хуйней как обработка изображения на плюсах естественно, а не на пистоне с нейронками не для работы, а чисто для себя?
954 1935589
>>35535
Всем похуй на предметную область. Весь FAANG + Яндекс спрашивают только литкод, если ты идешь на джуна\мидла. Предметную область реально спрашивают (и то не всегда) - на сениора.

Соус - собесился в гугл и яндекс(дошел до оффера), еще несколько знакомых собесились в гугл, все одинаково.
955 1935612
>>35589
Подтверждаю
956 1935662
>>35589
Так я тебе это и написал. Большие корпорации пиарятся и нанимают людей по олимпиадным задачам, чтобы программировать хуиту. В нормальных компаниях, которые нанимают тебя выполнять конкретные задачи, такого не происходит, очевидно.
И сам же пишешь, что на сеньёр позиции спрашивают предметную область.
957 1935676
>>35589

>всем похуй на предметную область


>всем не похуй на предметную область, когда нанимают на сениор позицию, где нужно дела делать, а не хуи пинать


ты только что гранату
958 1935677
>>35589
и че, как яндекс? в какой продукт попал?
959 1935678
>>35584
Ты долбаеб? Ты думаешь в универ зачем люди идут? Чтобы на цпп учиться кодить? В универ идут как-раз, чтобы научкой заниматься и предметную область задротить.
Начитаются /b/ про универ нинужин и потом свои жопы взрывают, когда их на работу не берут лол.
960 1935685
>>35589
челик, яндекс не берет людей со стороны
да, они пригласят тебя на собес, hr тебя поразвлекает охуенными историями как у них охуенно на фирме, а на тех собесе ты попереворачиваешь строку и пообходишь дерево, но оффера ты не получишь
вот и все
961 1935691
>>35685
чет не очень верится
пруфы?
962 1935692
>>35535

>На цпп нету работы без предметной области.


на цпп (в россии) (сегодня) нет работы вообще, большинство вакансий - фейковые, как, к примеру, все вакансии касперского
963 1935697
>>35691

>пруфы?


ты правда думаешь что яндекс опубликует статистику сколько людей берут они с улицы, а сколько приходят к ним по знакомству или их забирают с прикормленных кафедр?
они никогда этого не сделают, ибо их репутации "открытой" компании придет пиздец
с улицы разрабов они вообще не берут
есть шанс устроиться тестировщиком или на другую околоайтишную специализацию, но не разрабом
964 1935704
>>35678
Так в универе тоже нет таких дисциплин как обработка изображений сырых изображений с камер, разработка хайлоад веб-серверов, не рассказывают про разработку игр (тоже большая часть вакансий на плюсах) и т.д.
965 1935707
если ты простой хуй (те тупо закончил мухосранский вузик на программиста, чутка поработал уже по специальности в своей мухосрани) то больше шансов с наскока устроиться в мейлру, чем в яндекс
в первом дохуя всяких проектов, в том числе и купленных, в том числе и всяких умирающий помоек типа аськи или старых ммо и тебя еще могут взять разрабом разгребать это говнецо
966 1935709
>>35685
Хз. Ниразу не ходил к ним на собес, но эти черти вечно в телеграм написывают с вакансиями, либо когда ты на хх резюме выкладываешь, либо даже просто так.
Я подозреваю, что вышка ебаная слила мой номер этим пидорам дополнительно к номеру с хедхантера, потому что я помню сразу после окончания универа это началось.
Еще эти эйчарки тупые такие пиздец, похуй какой стэк у тебя, похуй что ты там вообще ищешь, просто зовут на дженерик вакансию C++ разраб с машинлернингом и всё.

Как по мне, они берут студентов с мгу/вшэ/мфти. Выпускников, которые занимаются научкой, может тоже берут, но я не знаю таких, да и они сами в эту хуиту не идут.
Обычных разрабов вообще, наверное, не берут, так как у них додики из первой категории просто остаются работать.
Сеньёров-помидоров скорее всего берут, иначе сосали бы хуй на серьезных задачах, но они, я думаю, опять же к ним не идут.
967 1935727
>>35697
ну я понимаю твою логику, особенно при наличии ШАДА
но у меня есть знакомые, которые пришли с улицы
а аргумент "ну ты правда думаешь?" - ни о чем
так вата доказывает, навальный иноагент "ну ты правда думаешь что он учился в ели и его не завербовали?"
так что, браток, твои слова не особо что-то значат
968 1935734
>>35709

> Как по мне, они берут студентов с мгу/вшэ/мфти.


c типом их отбора только такие и попадут, имхо
конечно можно долго рассуждать на тему того, нормальный ли у них отбор, но как по мне - хуйня какая-то
причем тоже странно то, что у яндекса особо топовых продуктов то и нет
поиск у них говнище (кроме картинок), а на любой другой продукт есть топовый аналог
еда - диливери
такси - убер (еще и подешевле)
остальными даже не пользовался (и ок)
ну да, есть у них беспилотники - тема хорошая
алиса тоже нормис
но имхо, сбер через лет 10 должен догнать шарагу эту
969 1935735
>>35677
В маркет, но я оффер отклонил

>>35685
Хуйню полную несешь.
970 1935737
>>35735
не поделишься процессом собеса? а то хочу попробоваться туда
971 1935744
>>35737
Апплаишься на вакансию, тебе отвечают, дальше 3 этапа.

1. Часовой собес по скайпу с онлайн-блокнотом, дают пару алгоритмических задач, пишешь их, чел с другой стороны смотрит.

2. Если первый этап прошел - зовут в офис (хз как сейчас).
4-5 часовых секций с этими же ебанутыми задачками.
Одну завалить можно, две - сразу заканчивают собеседование. Критерии завала - хз, я всё прошел, хотя были моменты когда адово тупил.

3. Это уже интервью с нанимающим менеджером, где он на тебя смотрит. Иногда их может быть несколько, т.к. пайплайн собеседований один. И манагеры могут даже за тебя соревноваться.

4. Оффер.
972 1935747
>>35744
ебоньк
спасибо
а примеров задач не осталось?
973 1935756
>>35744
Я не он, но что бы ты назвал обязательными вещами по структурам данных / алгоритмам?
Я, понятное дело, знаком со всеми простыми структурами данных, которые в реализации стл используются, например. Читал давно Кормена, слушал курсы всякие, встречал и в универе, и на практике всякие задачи с деревьями и прочим. Но когда встречаю задачки уровня литкода, которые нужно решить сходу не сильно думая - обсираюсь обычно.
974 1935758
>>35747
Это, что досталось мне.

Есть вектор пар чисел, являющихся координатами точек на плоскости. Определить, есть ли некая ось симметрии параллельная оси Y, относительно которой наши точки образуют симметричную картинку.

Есть строка вида "a b c d ". In-place заменить все повторяющиеся пробелы, на 1 пробел.

Написать, внутренности shared_ptr, написать для него конструктор копирования и деструктор, сделать это так, чтобы все работало в многопоточной среде.

Есть API, которое выдирает из некоего стрима слово. Написать функцию, принимающую N (Считать N раз из стрима), и выводящую Top100 слов в порядке возрастания их частоты в стриме.

Написать функцию, выводящую все числа, в которых присутствуют все цифры по одной. Например, число "1234567890" удовлетворяет условию.

Есть строка вида "a b c". In-place заменить все пробелы на '%20', дополнительная нужная память для замены считается уже выделенной внутри строки.

Написать аналог функции to_lower.

Есть массив целых чисел и некое число K. Определить, есть ли в массиве чисел такая непрерывная последовательность, сумма всех элементов которой дает нам K и вернуть индексы начала и конца.

Есть вектор из пар координат X, Y, где каждая точка - то квадратик 1х1 размером. Если точки находятся рядом по вертикали или горизонтали - то формируют одну фигуру (Квадратики 1х1 соединяются в нечто большее). Найти периметр наибольшей фигуры из тех, что построены на плоскости по этому вектору.
975 1935763
>>35756
Похуй на то, что ты читал кормена и слушал курсы. Надо уметь решать ебучий литкод, это отдельный навык. И этот навык и получается только дрочевом литкода. Когда я пошел в яндекс - у меня было под 170 задач решено.
976 1935765
>>35763
a hard там реально ебещий? Есть ли смысль решать изи задачки или сразу в медиум нужно идти?
977 1935767
>>35758
пасиб, мужик (или мужикесса)
978 1935774
>>35767

>мужик (или мужикесса)


Написал бы просто пидор, учитывая, что про Яндекс говорим...
979 1935780
>>35774
кек
обидно за рашку конечно
одно ОЙТИ
где наш спейс икс, тесла
я бы с огрмный удовольсвтием применил свои знания проганья для реально железа
980 1935783
>>35765
Ну как сказать, вот допустим хард https://leetcode.com/problems/merge-k-sorted-lists/ который решается тупо в лоб закидыванием всех чисел в вектор, вызовом std::sort и обратной раскидкой вектора в лист.
981 1935799
>>35774
Ну, не пидор, я же не пошел в итоге

>>35765
Медиумы надо щелкать, хардов у меня не было
982 1935803
>>35685
Брат, ты бы таблетки начал пить, а то истории у тебя одна шизовее другой
983 1935844
Уже 1к постов, вы шизики когда новый тред создавать будете? Сидят, считают единицы в битовых полях, а на всё остальное насрать

>>35774 Ты пидор, перекатывай
Если мне не понравятся картинки, будешь переделывать пока не будет идеально, и самотык свой еще месяц не увидишь (я пока сам с ним поиграюсь)
984 1935851
>>35844
нихачу((9(( пирикати сам
985 1935852
>>35851
я перекачу завтра

Мимо перекатывал 6 последних тредов
986 1935859
>>35844
Ты охуел? Перекат после 1000, иначе нелегитимно.
987 1935860
пацаны, кто-нибудь работал с облаками точек? Есть вопрос
988 1935868
>>35692
Чего за фантастика
989 1935929
>>35758

>Есть API, которое выдирает из некоего стрима слово. Написать функцию, принимающую N (Считать N раз из стрима), и выводящую Top100 слов в порядке возрастания их частоты в стриме.


Хранить в хеш-таблице/дереве поиска гистограмму, потом перевести в вектор и сделать на нём условный quickselect на 100 элементов? Первое, что в голову пришло.
Снимок.PNG75 Кб, 890x922
991 1935954
того что на пике достаточно для того чтобы учить и компилировать на с++?
992 1935957
>>35780
Есть дохуя чего, много в провинции. Тула, Саратов.
993 1935962
>>35954
Для этого Visual Studio нужна. Redistributable вообще из другой оперы.
994 1935963
>>35954
Это просто библиотеки для запуска программ скомпилированных в студии.
995 1935972
>>35957
Мне релокацию в КАломну предлагали из ДС2 кек. Грят дадим тебе билет на поезд до Коломны и компенсируем стоимость аренды у бабы сраки. Будешь авиастроение наше поднимать.
996 1935975
посоветуйте идэ под виндовс 10 легковесное для обучения,желательно со встроенным компилятором
997 1935978
>>35975
Visual Studio.
998 1935981
>>35975
Слушай вот этого >>35978. Еботня с настройками других IDE может наглухо убить желание с++ изучать.
999 1935993
>>35957
>>35972
А нахуя? Если попердолиться хочется на отечественной хуйне, то и в дс найдется. Мне постоянно на хх приходят инвайты во всякие Концерн Залупки или ТОП-СИСТЕМЫ.
Есть смысл такого ебанутого дауншифтинга, мне кажется, только если что-то супер узкое научное делать и в какую-нибудь лабу уебывать, с каким-нибудь там ускорителем элементарных частиц попердолиться или типа того.
1000 1935994
Перекатывайте, плюсаны.
1001 1936015
Стоит ли вкатываться через трейни или интернатуру? Не особо уверен в своих знаниях, но в городе часто открываются вакансии в глобаллоджик и прочие галеры. Насколько там [на вакансиях трейни/интерна] высокие требования к кандидатам? Может проходил кто-то здесь подобное?
1002 1936038
>>35954
достаточно в консоль писануть $ g++ pidor.cpp -o pidor
image.png339 Кб, 640x380
1003 1936041
>>36038
"g++" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
1004 1936046
>>36041

> "g++" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.


На винде нету г++...
мингв ставь
1005 1936049
Короче понятно, без самописного nginx нихуя не устроишься никуда джуном.
1006 1936051
>>36049
Джун в крестиках - это как сеньор в других языках.
1007 1936057
>>35972
Сами на тебя вышли?

>>35993

>А нахуя?


>>35780-кун же хотел с реальным железом работать.

Кстати, понимаю его, с железом пердолиться интересно. Жаль, мои навыки мало кому нужны, всего изучил понемногу и теперь думаю, куда дальше. В ДС ехать не хочу.

>>32024-кун
1008 1936086
>>36057
понимаю тебя
ничего не имею против классического такого айти с вебом и прочим - куда бы мы без них
но вот когда пишешь код для железяк, которые взимодействуют с реальным миром - то ваще пиздец как круто
правда там Си в основом. но все равно
я думаю вкатиться куда-нибудь в эмбеддед, пусть там и зп не очень большие, но, думаю, косарей 100 можно найти ( а там мб и рост будет)
а потом съебать в норм страну, где такая хуита востребована (США)
1009 1936087
Как устроена хэш-мапа? Знаю, что есть bucket, что есть хэш, количество элементов в bucket зависит от количества коллизий, етц. Но как именно значение хэша мапится в конкретный bucket?
1010 1936099
>>36087
Хеш - это индекс в массиве бакетов. Или в чём вопрос?
1011 1936127
>>36099
Индекс это же идентификатор последовательного представления.
А выход хэша произвольный. Как одно преобразовывается в другое?
За счёт какой идеи значение хэша служит индексом?
1012 1936149
>>36127
Он не совсем произвольный, а зависит от текущего размера массива и обычно является числом, в отличие от значений всяких криптографических хеш-функций наподобие sha/md5. Вычисляется так, чтобы значение было в пределах от 0 до размера массива, в простейшем случае это можно сделать через остаток от деления на размер массива.
1013 1936154
>>36127
За счёт хэш функции.
1014 1936173
>>36057

>Сами на тебя вышли?


Да, видимо с хх телефон взяли. Я сам с мелкого города и хорошо знаю, что такая работа из себя представляет.
1015 1936181
>>36149

>это можно сделать через остаток от деления на размер массива


то есть к результату первой хэш-функции применить вторую хэш-функцию
1016 1936182
>>36181
Это может одна хеш-функции. Не обязательно даже, что там явно вычисляется % в конце, там может быть магия битовых операций. Или вся функция - это %, если вычисляется для какого-нибудь unsigned int, например.
1017 1936184
Сап гайз, есть спецы по qt?
QOAuthHttpServerReplyHandler::callback() имеет строгую привязка на урл. Полагаю, остается только переопределить его, если мне нужно другое значение, а не http://127.0.0.1:%1/%2
1018 1936188
>>36149

>Он не совсем произвольный


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

>Вычисляется так, чтобы значение было в пределах от 0 до размера массива, в простейшем случае это можно сделать через остаток от деления на размер массива.


А что потом делать, когда размер массива изменился? Все хшы пересчитывать?
1019 1936205
>>36188

>А что потом делать, когда размер массива изменился? Все хшы пересчитывать?


Да, таблицу придётся перестроить.

Вообще есть вот такой пример с хэшами. Допустим есть много отрезков на плоскости и тебе нужно быстро определить кто с кем пересекается. Для этого берётся сетка m x n и для каждого отрезка определяется на какие ячейки он попадает. Получается хэш-мапа с ключом - индексом ячейки (опять же двойное хэширование - первый хэш отрезка {x,y}, второй x+y) и бакетами - списками индексов отрезков.

Если ты поменяешь сетку, то тебе заново придётся перестроить всю таблицу.
1020 1936207
>>36205
Всё понял, спасибо
1021 1936208
>>36205

>второй x+y


x⚹(n - 1) + y
1022 1936304
>>35929
все сильно проще - Multimap
1024 1936319
>>36086
Заграница не для всех. Привыкать жить в хуй знает каком обществе по хуй знает каким правилам, то нельзя, это нельзя. Лучше работать в дочерней конторе какого-нибудь предприятия раз уж на то пошло, такого и в России хватает. Видел вакансию писателей прошивок под панели для каких-то западных тракторов. Прошивки продвинутые, с GPS, автоматизацией, кучей кнопок.
1025 1936345
>>36184
В 5.15 уже есть setModifyParametersFunction, где ты можешь изменить значение, например
auto niggers = new QOAuth2AuthorizationCodeFlow(this);
...
niggers->setModifyParametersFunction([](QAbstractOAuth::Stage stage, QVariantMap parameters) {
(
parameters)["redirect_uri"] = QUrl("fuck_you_niggers");
});
1026 1936349
>>16303
Пиши что-то своё смело, попутно читай разные штуки и рефактори свое детище. Я так писал тетрис, используя сишные массивы и минимум классов, а потом узнал про стл и переводил на него код
1027 1938799
>>36046
надо в видне сделать системную переменную (туоп путь к g++) и будет рабоать.
1028 1949664
>>36038
Короче скачал codeblocks он с g++.
Ещё встречал такое что некоторые конторы используют cmake для сборки, но там вроде всё просто,правда я собирал проект максимум из трёх файлов.
Тред утонул или удален.
Это копия, сохраненная 2 мая 2021 года.

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

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