Этого треда уже нет.
Это копия, сохраненная 21 октября 2022 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
С++ thread #137 /cpp/ 2410386 В конец треда | Веб
Вместо шапки:
https://github.com/sosachbot/cppthreadhat
⚹ Для кусков кода: https://0bin.net/

Ответы на вопросы:
https://en.cppreference.com/w/
https://www.cplusplus.com/reference/

Для указателей:

Прошлый тред: >>2397264 (OP)
2 2410474
>>10386 (OP)

> .cc


Какое же ты ничтожество.
3 2410481

>не договорились о стандартном расширении файлов


Ебало прекомпилировали?
4 2410556
>>10474
>>10481
Что, питоноблядву НЕПРИЯНО, что в зависимости от роли файла в моей божественной архитектуре, я могу назвать его .cpp, .cc, .h, .hh или даже .hpp и .inl? Ну, собственно, сосать, что тут еще добавить...
ImageFacebookSquareimage1658306400478.jpg433 Кб, 1000x1000
5 2410631
А смотрите что придумали в Гугле. Вместо изобретения очередного убийцы крестов они пилют язык их дополняющий, как Котлин джаву.
7 2410636
>>10631
Паскал++
8 2410700
>>10631
ГОвно какое-то по синтаксису. Зачем-то кастрируют кресты вместо добавления фич. Нужна функциональщина и реальная замена макросам. Ещё было бы хорошо разрешить implicit move и выкинуть нахуй ссаный санитайзер. Но эти шакалы зачем-то просто выкинули 2/3 языка и сделали из него Go. Ебанутые, даже больше ебанутые чем zig-фанатики.

Зная какие говноделы в гугле, как-то с трудом верится в успех этого. На моей памяти у них только хром был более-менее вменяемым, да и то никто не пользуется самим хромом, только форками хромиума. Андроид - просто калище из каши кучи технологий и легаси. Го - дрисня для хэллоуворлдов уровня питона, буквально самый ущербный язык в принципе. Дарт и флаттер - какое-то раковое образование, отросшее от джавы, сделанное для жирух. Тензорфлоу - отсасывает у Торча не сглатывая, даже мокрописька херас не спасает. Сами гуглосервисы неудобное говно, с трудом взаимодействующее между собой: добро пожаловать в мокросервисы - ебись как хочешь и без смазки.

> пилют язык их дополняющий, как Котлин джаву


Как показал пример Раста, подобная хуйня ничего не решает. Раст тоже совместим с крестами - там крестовый код можно компилировать вместе с растовым, использовать определения из хедеров напрямую и получать единый бинарник. Но проблема в том что ты в любом случае будешь писать обёртку на кресты, вне зависимости от уровня совместимости с ним, потому что API будет хуёво вписываться в инородный язык и надо будет адаптировать всё это. Но в Расте это решили шикарной кодогенерацией, а хули тут? Пусть покажут не хэллоуворлд, а как придётся взаимодействовать с шаблонами/концептами, легаси под void⚹⚹ и каким-нибудь winapi. Уверен, как обычно, скажут ебаться самому.
9 2410718
>>10700

>Нужна функциональщина


Какая? В Гугле так тоже паттерн матчирг хотят добавить.
10 2410771
>>10631

>Гугл: Предлагаем правки стандартной библиотеки С++


>Комитет: Отказано


>Гугл: Ряя! Нахуй С++, делаем новый язык!


Где логика? Каким образом правки библиотеки превратились в новый язык?
11 2410777
>>10771

> Где логика?


Это же Гугл, они просто ебанутые. Ты не помнишь что ли как они вместо запила под ведро нормального фреймворка гуя решили запилить сразу новый язык? Который ожидаемо оказался никому не нужным дерьмом, разве что китайцам он зашел из-за лицензий. У них так всегда, выдумывают какое-то говно и ждут когда опенсорс-комьюнити допилит его за них. Не получилось - да и хуй с ним.
12 2410781
>>10777
Тайпскрипт так же обосрался, ибо ненужон
изображение.png964 Кб, 1280x720
13 2410790
>>10386 (OP)
Лучший тред для лучшего языка.
14 2410798
>>10771

>Где логика?


Абдурахмад из Индии не понимает на С++.
VID20220720165551.mp438,1 Мб, mp4,
1920x1080, 0:18
15 2410915
спустя месяц мучений я смогу скомпилить программу под orangepi, господи как же хорошо
16 2410993
Суп, анончики. Есть у меня задача - отправить пакет данных на сервер. Я в этом вообще ни бум-бум. Что курить, что читать? С чего начать вообше?
17 2410995
>>10993

> Что курить


Шишки.

> что читать


Книги.

> С чего начать вообше?


С изучения питона.
18 2411034
>>10993
Видеоуроки и статьи по winsock, ну если ты конечно хочешь на с++ все это сделать и на виндовсе
https://coldflame.l-s.me/txt/translated/bgnet/bgnet/
bjarne stroustrup.png24 Кб, 398x455
19 2411043
>>10631
Повторю свой вопрос - поясните за "проблему" с поломкой ABI >>2410363 →

PS вот вам картинка для шапки хорошая, каждый раз проигрываю как в первый.
20 2411060
>>11034
Спасибо
21 2411072
>>11043
Object-файлы, скомпиленные разными компиляторами, должны быть совместимы в теории, так по стандарту. Естественно там есть различия в STL и оно не будет работать на практике. Но условно, если ты соберёшь одним компилятором с no_stl под embedded, например один объект трансляции с функцией int a() {return 1;}, а main, использующий её - другим компилятором, то можешь слинковать два этих o-файла и оно должно работать.
22 2411096
>>10781
Ох какие познания уровня /b/ в бекенде еще как используют, например https://nestjs.com/ https://typeorm.io/ на фронте да, нахуй не нужон только в ангуляре прижился, на всяких реактах вообще срут jsx
23 2411185
>>11096
Ну так я про фронт и говорю
.png7 Кб, 542x60
24 2411199
>>11096
Неудивительно, что в крестотреде ничего не знают о мирке веба, т.к. почти с ним не пересекаются.

> jsx


Срут tsx.
25 2411203
>>11199
Ну не без этого, но таких не так уже много хотя мне кажется большая часть совпадений это описание вакансии где typescript будет плюсом
26 2411210
>>11203
Очень много. Слишком много, чтобы говорить, что тупоскрипт не прижился и ненужон. Сколько ни встречал фронтендеров - все так или иначе сталкивались с TS, хоть личные примеры и хуйня.
Ладно, тред про нормальный язык, а не вебдрисню.
27 2411302
уволился с работы, буду вкатываться в каброн, какие подводные?
28 2411305
>>11302
Гугол прикроет проект через 3..2..1..
29 2411309
>>11072
Как то не очень убедительно

>использующий её - другим компилятором, то можешь слинковать два этих o-файла и оно должно работать.


Зачем?
Алсо там ведь как раз терки из-за изменений в STL, а по факту ты сам говоришь там уже нихуя бинарной совместимости нет. Напоминает сцену в Матрице

>Mы потеряем узел приёма кораблей применив пушку в шлюзовом отсеке.


>Сэр, мы его уже потеряли.

30 2411381
>>10700

> Зачем-то кастрируют кресты вместо добавления фич.


Ты это про контору в которой запрещены даже исключения в плюсах и вместо этого везде пихают ебаный StatusOr?
31 2411406
>>10631
Анон в прошлом треде вроде что то похожее хотел для диплома писать, лол
32 2411415
>>11309
Ты не путай совместимость STL и бинарную. Бинарная должна быть везде, те кто не соблюдают - нарушают стандарт. Без бинарной совместимости ты бы даже с одним и тем же STL не смог бы слинковать либы.
image.png14 Кб, 556x113
33 2411454
Парни, ну подскажите как можно реализовать функцию
34 2411459
>>11454
Вот так: return 0,;

Какой библиотеки? Что за предметная область и задача?
35 2411471
>>11459
А я не знаю. Увидел объявление функции в интернете, думал сам попробовать решить, не получилось. Я не понимаю момент, как и где нам сохранять имена и пароли. Присвоить строку wchar у меня не получается. Как то так
36 2411474
>>11471
Что значит увидел объявление функции? У любой такой функции должен быть контекст задачи. Если ты увидишь объявление функции, которая производит валютный платёж в другой банк по СПФС, тоже попробуешь реализовать в разрыве от остального приложения? Если так хочется реализовывать какие-нибудь функции, лучше ищи задачи на алгоритмы.
37 2411480
>>11474
Понял, спасибо. Просто данная задача мне показалось не такой сложной(на первый взгляд).
38 2411497
>>11480
Она может и несложная, просто без контекста её не решить никак.
39 2411500
Настолько ли плох CodeBlocks насколько о нём пиздят?
40 2411504
>>11497
Спасибо
41 2411541
>>11415
Что скажешь про это
https://www.osnews.com/story/13651/fedora-core-5-test-3-slips-a-week/
oldie but goldie

>There is an ABI change in the gcc/glibc stack that requires a rebuild of the entire distribution



>Does that mean, you won’t be able to run older binaries?


>Probably.



Или тут
https://stackoverflow.com/questions/23874393/does-using-std-c11-break-binary-compatibility
Получается даже один компилятор с разными флагами и бинарной совместимости уже нет.

Это уже другие сорта ABI совместимости?

Я понимаю что в айсберге причин по которым

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


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

Вот в жабке там можно взять jar скомпилированный хер пойми кем на заре человечества и импортировать из него классы и делать с ним всякое. (По крайней мере в теории, на практике хз как дела обстоят). Но это достигается тем что одна фирма контролирует и язык, и компилятор и вм его выполняющую. (Это кстати необходимое, но не достаточное условие MS в dotnet говна понамесили и каждая сборка идет в десятке разных вариантов)
42 2411584
>>11415
Пример:

Here is the death notice from gcc-4.7.2-1-mingw32.README.txt :
Binary incompatibility notice!

The C and C++ ABI changed in GCC 4.7.0, which means in general you can't link together binaries compiled with this version of the compiler and with versions before GCC 4.7.0. In particular:

The option -mms-bitfields is enabled by default, which means the bitfield layout follows the convention of the Microsoft compiler.

C++ class-member functions now follow the __thiscall calling convention.

The compiler now assumes that the caller pops the stack for the implicit arguments pointing to an aggregate return value. This affects functions returning structs by value, like the complex math type.
43 2411752
Хочу перейти с шарпа на кресты, очень нравится язык. Возьмут меня мидлом с двумя годами опыта на другом языке?
44 2411870
>>11752
Че за вопрос.
Смотря какие задачи. Если десктопный софт, на С# можно писать GUI(правда Сишный winapi или Qt пизже в разы и быстрее)
45 2411892
Планирую выбросить исключение в деструкторе, какие подводные?
46 2412013
>>11892
Исключения не нужны.
47 2412021
>>11584
>>11541

> Что скажешь про это


Что красноглазые пердолики на пердоликсе уже в край ахуели. Ломать calling convention даже индусы не додумались.
cpplibcode.PNG85 Кб, 795x1135
48 2412029
>>11752

>очень нравится язык


Плюсы же уебищный высер дрисни, ты наркоман что ли?
49 2412054
>>11892
std terminate
50 2412067
>>12029
Не уёбищней джаваскрипта
51 2412092
>>12067
JS это схемка мимикрирующая под джаву, по сравнению с плюсами так вообще язык богов. Все кто утверждают что JS такой же кусок говна как плюсы или прости господи PHP - просто даунята умственно неполноценные.
52 2412112
>>12029
У них в шаблонах нет гигиены, что ли?
53 2412114
>>12112
Реализации STL - та ещё песня, там весь код выглядит так, будто кто-то проблевался и заставил блевотину компилироваться.
54 2412124
>>12092
Все кто утверждают что JS это схемка мимикрирующая под джаву - просто даунята умственно неполноценные.
55 2412127
>>12124
Про "схему в браузере" был высер от самих создателей жопаскрипта ещё в те времена, когда более адекватное сравнение было сложно придумать. А шизы подхватили.
56 2412136
А может ли быть язык быстрее с/с++? Или саму концепцию "платить только за то, что используешь", на которой они построены, преодолеть невозможно математически, эстетически, физиологически

Просто я подумал, а что есть Rust, или нет, пусть существует воображаемый язык Fast, который превосходит в производительности плюсы. Тогда зачем мне углубляться в плюсы? Я вижу только одну причину - интересные легаси библиотеки, написанные на крестах - openCV, boost, Unreal Engine, Unity и многие другие.
57 2412143
>>12136

> есть Rust


Он примерно такой же по производительности как и кресты. Если ты не используешь очевидно медленные фичи, то скорость везде одинаковая, ведь оптимизации одни и те же. Отличия только в сахаре и в том что в Расте медленные фичи просто не добавляют, а в крестах всё подряд есть. Сишка, кстати, уже посасывает почти во всех случаях у крестов по производительности с максимальными оптимизациями.
58 2412150
>>12136

> Unreal Engine


Почему он легаси стал? Пятый на C++17 написан.
59 2412153
>>12143

> в Расте медленные фичи


Какие? Например метод .at() проверяющий выход за границы массива?
изображение.png210 Кб, 512x512
60 2412158
>>12029

> Плюсы же уебищный высер дрисни, ты наркоман что ли?

61 2412172
>>12136
Раст и другие подобные языки не про производительность, они про семантику. Типы недостаточно просто скорости, надо ещё и натянуть сектанство наподобие семантики владения. Они могут в каких-то задачах быть быстрее крестов, а в каких-то будут медленнее, потому что разные алгоритмы генерации и оптимизации кода. Да и то выигрыш не в разы, как при сравнении с питоном и JS, а в долях процента.

> Unity


Хоть рантайм и на крестах, самому тебе юзать кресты не дадут, только через обёртки на шарпе.
62 2412180
>>12136

> Может ли быть язык быстрее c/c++


Кончено да

> зачем углубляться в плюсы?


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

некоторые с плюсов не слезут даже под дулом пистолета
63 2412212
Почему многие конторы сидят на старых версиях плюсов?

Какие могут быть потенциальные проблемы при переходе с с++11 на 14/17 например?
64 2412232
>>12212
Не потому, что им так нравятся древние кресты. Потому что сломана обратная совместимость, и до ломания написано слишком много легаси-кода.
65 2412256
>>12136
Какой элемент языка тебе кажется медленным? - откажись от него или перепиши на avx-4096
66 2412320
>>12124>>12127
Динамический язык с полноценными HOF с замыканиями, с чем вы предлагаете его сравнивать - с вашими сраками раздолбаными что ли?
>>12136

>пусть существует воображаемый язык Fast


У тебя какая то логическая нестыковка уже в самом вопросе. Вот если бы у бабушки был хуй вот тогда... Ну когда такой Fast появится то весьма вероятно плюсопараша и задаром никому не нужна будет как кобол.
67 2412323
>>12320
Ты тредом ошибся тебе сюда: >>2402430 (OP)
68 2412328
>>12212>>12232
Но ведь плюсы больше всех на свете надрачивают на обратную совместимость (на уровне языка).
Исключительно имхо но я считаю что проблема таких контор в подавляющем большинстве в чисто бюрократической плоскости - ведь нужно чтобы некий Вася обновил весь тулинг по всей конторе и кто будет этот Вася и на каких основаниях совсем не ясно.
1629618429699.png7 Кб, 596x48
69 2412330
Блять, какой дегенерат это делал? Прямо в STL насрали. Как мне получить без каста тот же тип, что я и сдвигал?
70 2412338
>>12323
От тезиса что плюсы уебищнее жс сральни загорятся только в этом треде.
71 2412381
>>12338

>От тезиса что плюсы уебищнее жс сральни загорятся только в этом треде.


>С++ тред


Интересно, почему же?
Алсо, ясен хуй, что другие питухонища не будут гореть, а даже поддерживать, ибо сами на подобной скриптопараше пишут, а нормальные языки не осилили
72 2412391
>>12136

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


че, хуило, думаешь мы тут тебя уговаривать будем чтобы ты на крестах попрограммировал
ой, ну так и быть, убедите меня и я может быть начну
иди нахуй
73 2412422
А как там с char в линуксе? Почему на винде надо ебаться с кодировкой для отображения кириллицы, а на линуксе char умудряется работать с русскими буковами(чар - один байт, но ведь одна русская буква в юникоде(utf-8) занимает два байта) без всяких там сетлокалей?
74 2412445
>>12422
На линуксе чар динамический.
75 2412446
>>12445
Это как понять?
76 2412452
>>12422
Дело не в чаре, а в том, что на линуксе везде utf-8, а на винде в разных программах то utf-8, то utf-16, до cp866, то cp1251.
77 2412467
>>12136
а есть ли вообще существенная разница в скорости если всё компилируется в итоге через один и тот же LLVM?
78 2412474
>>12467
Для крестов 100500 компиляторов, и только один из них работает через llvm.
79 2412475
>>12467
Нет, лол. Фронтенд языка компилирует IR-код для бекэнда llvm, а уже внутри эой адской машины происходит все оптимизации. Разница может быть только между разными бекендами, например, gcc , llvm, tcc и т.д.
80 2412499
>>12474
ну это-то да
но многие новомодные языки работают только на llvm
про этот случай вопрос
81 2412588
>>12180

> Кончено да


Можешь обосновать?
82 2412590
Ну например, в си нет исключений, поэтому стек можно форматировать проще (в плюсах же не поставишь nothrow на каждой функции), то есть некоторые функции в си чуть быстрее.
83 2412630
>>12422
Венда не умеет в юникод.
Впрочем, вроде там недавно завезли UTF-8
84 2412642
Плюсобляди, вас тут гугел на кукан карбон пересадить решил https://www.cnews.ru/news/top/2022-07-21_google_sozdaet_ubijtsu_s
85 2412677
>>12452
Как поменять?
86 2412679
>>12642
Только проснулся? Ещё вчера обсуждали.
88 2412700
>>12590
Тогда такой вопрос: может ли существовать язык быстрее си?
89 2412730
>>12700
Может, называется асм конечно же
90 2412741
>>12730
Или си с ассемблерными вставками.
Еще гипотетически какой-нибудь caml можеть обогнать программу со множеством malloc/free за счет сборки мусора, где выделение памяти будет очень дешево, а освобождение "бесплатно".
91 2412791
>>12741

>Еще гипотетически


На любом языке можно говнокодить. И чо?
92 2412802
>>12700
>>12730
А как вам такое
https://old.reddit.com/r/programming/comments/w52tmb/investigating_managed_language_runtime_performance/

>Go achieves a 1.02x speedup over GCC in the multithreaded key-value store benchmark


>Go and OpenJDK outperform GCC for 3 out of the 12 benchmarks.

93 2412824
>>12791
Я не о гiвнокоде.
94 2412836
Ладно, спрошу в крестобоярском треде. Я решил перепройти первую халфу. Рендеринг картинки с использованием видеокарты через OpenGL там был написан на-отъебись. Какие-то дженерик алгоритмы, которые убивают всю красоту и ручную выделку картинки, заложенную в Software-рендеринг. Смазанные текстуры, отсутствие прикольного эффекта под водой и анимации поверхности воды, билинейная интерполяция всего, потраченный HUD с прицелом, словом, фублять-фунахуй. И никакие консольные команды не позволяют это даже приблизить по качеству к оригиналу. Но проблему Software-рендера в том, что там гвоздями прибиты только четыре опции по разрешению, и все они квадратные. Когда я жил с ЭЛТ-мониторами, мне было заебись. Но теперь, когда я захотел перепройти на FullHD, мне стало грустно. Можно ли как-то это говно пересобрать из исходников, запилив там нормальный резолюшен?
95 2412838
Когда gcc и сlang доделают c++20?
Screenshot from 2022-07-22 13-03-25.png23 Кб, 535x468
96 2412840
>>12836
пик стронгли рилейтед
97 2412863
>>12136

>А может ли быть язык быстрее с/с++?


да, пиши на asm'e или в машинных кодах, что ещё лучше, долго пишешь, долго отлаживаешь, работать будет идеально - полок производительности достигнут
98 2412868
>>12836
Поищи на гитхабе проекты, там уже все что угодно делали с халфой, и вулкан прикручивали, и рейтрейсинг добавляли, и текстуры меняли, в общем, на любой вкус найдется.
99 2412898
>>12863
Как что-то плохое. Главное, чтоб мой перфекционизм был удовлетворен.
100 2412926
>>12838
Зачем?
102 2412956
>>12926
Собирался выучить c++ по книжке, а она вся на c++20.
103 2412959
Почему все самые интересные задачи на плюсах? Пролистываю на хх вакансии, что там есть: бэкенд-дрисня на шарпе, ангуляр-дрисня, бэкенд-дрисня на пэхэпе, бэкенд-дрисня на питоне, 1С-дрисня, битрикс-дрисня, мобильная дрисня на андроид, мобильная дрисня на свифт.
Из нормального только ERP/WMS/CRM-системы на жаве или шарпе и разработка игр на Юнити.
104 2412962
Хотя даже разработка игр для дяди это сразу выгорание, Unity лучше учить для развития собственных проетов.
105 2412970
>>12948
А если перед std::size_t написать constexpr?
106 2413033
:-1: error: /Desktop/Project/hidapi/libs/libhidapi.a: error adding symbols: file format not recognized
Как победить данную ошибку QtCreator
система Ubuntu
107 2413068
>>12959
Не вижу ничего интересного в скринах.
108 2413082
>>12948
vim это устаревший компилятор
109 2413117
>>13082

>vim


>компилятор


2022, крестач, итоги. Не думал, что человечество так быстро деградирует.
110 2413127
>>13082
C++ это устаревший язык
111 2413182
>>12959
На первом велосипед.
На втором Унижайн.
На третьем попил.
112 2413184
>>13151 (Del)

> до конца жизни.


Схуяли? Типа умрёшь через несколько лет?
113 2413201
>>13184
сядешь
114 2413206
>>13151 (Del)
Почяему тогда написано, что проект опенсорс.
115 2413209
>>13206
А что мешает использованию опенсорса во зло?
116 2413210
>>12836
Лучше сразу Black Mesa пройди
117 2413211
>>13151 (Del)
Не, невыездные это которые с секретными документами работают. На простых прогеров насрать.
118 2413214
>>12948
Используй string_view
119 2413217
С какой книги начать полному нулю (алгоритмы/математику знаю)?
120 2413338
>>13127
Двачь это устаревший форум
121 2413339
>>13338
Форумы вообще устарели как явление, здесь одни бумеры сидят, которым не понятны конфочки в телеге.
122 2413401
>>13217
"С++ для математиков"
нет такой книги увы
123 2413403
>>13401
Ведь математика нахуй не всралась погромисту
124 2413420
>>13403
Так-то оно так, но когда ты уже математик то книжки без определений и теорем воспринимаются как полный зашквар
125 2413426
>>13420
У Степанова в книжках они есть
126 2413431
https://github.com/vitaut/_._
срочно в продакшон
127 2413435
>>13420
Проблемы промытых математуток.
128 2413439
>>11500
Даже хуже
129 2413448
>>11500
Ну такое. Делал на нем эмбеддед, гораздо хуже чем нормальные Иде. Лучше чем просто текстовый редактор канеш.
130 2413456
>>13426
Забавное, Степанов очень не любил ООП, и постарался чтобы его по минимуму было в стл. А дебилы вместо стл в крестах изучают всякие наследования и инкапсуляции...
Screenshot2022-07-22-21-17-11-303com.google.android.apps.do[...].png1,1 Мб, 1080x2340
131 2413489
image.png814 Кб, 1241x871
132 2413578
Как же проигрываю с ранней команды сталкера

Называется найди cреди смузихлебов ушедших со второго курса человека который взял на себя весь матан.
изображение.png116 Кб, 282x556
133 2413607
>>13578
Меня больше интересует, что там делает Ян Кертис.
image.png1010 Кб, 1690x1036
134 2413616
>>13607
Это максимчук, он реально похож, в гугле есть цветные фото
Тут просто забавно насколько по внешности большинства можно стереотипно сказать кто есть кто, хотя было дело 20+ лет назад

Два 20летних тимлида нафоршмачившие из говна и палок легендарный по забагованности иксрей
Три патлатеньких и духовно богатых художника
Подкачанный энергичный кабан
Лысеющий мужчина средних лет взявший на себя единственную технически сложную часть в этой салогалере

Ну остальные которых не выделил не так палятся конечно.
135 2413711
>>13439
>>13448
А что есть ещё из лёгкого/портабельного?
136 2413732
>>13489

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


Лол ок
137 2413738
>>13489

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


Haskell?
138 2413741
>>13578

> lead programmer


Программист свинца? Что это значит?
139 2413742
>>13741
Ну мож с Украины.
Screenshot2022-07-23-07-32-01-702com.google.android.apps.do[...].png781 Кб, 1033x1495
140 2413743
141 2413744
>>13743
Эм. Чо там определять. Монада это просто моноид в категории эндофункторов.
142 2413745
>>13744
Спасибо, стало понятнее.
143 2413746
>>13741
В сталкере была продвинутая физика свинца
144 2413754
>>13744
Это просто ленивый поток сайд-эффектов.
145 2413759
>>13578

>В X-Ray Engine используется свободный физический движок Open Dynamics Engine.


Костя не справился? Автором числится Russell Smith.
image.png84 Кб, 1003x78
146 2413807
>>13743
То же самое можно экстраполировать на математику в целом. Все знают что такое математика, но попробуй объяснить на кой чёрт это нужно в программировании. Не нужно.
147 2413809
>>13807
Монада же это просто моноид в категории эндофункторов, это же все знают, что тут такого.
148 2413810
Раз математик в треде, не мог бы ты объяснить, что такое функтор в математическом смысле.
149 2413815
>>13810
Отображение между множествами функций.
изображение.png63 Кб, 800x600
150 2413816
>>13815
Вот так чтоле?
151 2413853
>>13816
У тебя на пике не функции, а их значения.
152 2413956
>>12898
да, пиши на asme сам бы хотел так, но для этого нужно обладать очень большими знаниями, которые хрен где найдёшь в удобоваривом виде один мануал по x86 от Intel - 2k страниц на ангельском (тут точно не помню, то ли один мануал из 4х частей на 2k страниц, то ли каждая часть на 2k страниц), потом если хочешь писать под какую-либо систему, ищи аналогичные по объёму мануалы на win/linux или ещё что
153 2413985
>>13956

>но для этого нужно обладать очень большими знаниями,


С чего бы? Ты вообще можешь сам написать простенькую виртуальную машину, реализующую например базовый RISC V для целых и писать под нее.
154 2413995
>>13985
я не специалист в этом, так, общие представления

программисты с реальными знанием asma претендуют на заявки по 400k в месяц на удалёнке (судя по тому что видел на хабре)
155 2413997
>>13985
а, и да, кстати, запрос был на 100% эффективный код

виртуальная машина не похожа на максимальную производительность
156 2414014
>>13997
Лол, производительность идёт из инструкций которые ты исполняешь и их типов, видов и порядка. Поэтому тебе можно просто Тьюринг машину дать чтобы ты поигрался, но потом все проги переконвертировать в реальную архитектуру, в тот же risk v.
А вообще раз уж вы тут такие охуевше требовательные к производительности, берите что-нибудь с интересной архитектурой типо Эльбруса и вперёд - там задач по оптимизации на тысячелетия
157 2414038
Как принято в реальных проектах структурировать код? Какие там файлы, .h, .cpp, .inl? Достаточно ли интерфейса класса в .h, а реализацию в cpp? Что должно быть в main(), а чего не должно быть? Какие примеры есть на гитхабе?
image.png24 Кб, 538x275
158 2414051
>>12948
Это ccls? У меня clangd, таких ошибок не выдаёт. Есть вообще какие-то профиты юзать ccls вместо clangd?
159 2414059
>>13995

>программисты с реальными знанием asma


Пердят в нии закрытых за 50к. (Показывай что ты там на хабре видел.)
>>13985>>14014

>простенькую виртуальную машину


>переконвертировать в реальную архитектуру


>с интересной архитектурой типо Эльбруса


Осторожно, в треде орудует анальный клоун.
160 2414060
>>14038

> Какие примеры есть на гитхабе?


https://github.com/EpicGames/UnrealEngine/tree/release/Engine/Source
161 2414065
>>14060
А у меня не показывает репозиторий. Это все потому что я русский?
162 2414120
>>14051
clangd же вроде самый базовый. ccls явно богаче по фичам, но частенько падает.
163 2414227
>>14038
Если кратко, все делают как хотят, никаких стандартов в индустрии не существует

> интерфейс класса


Ты видимо имеешь в виду объявление класса, да обьявляешь ты класс в хедере, а реализацию в цпп файлы
Но если класс является темплейтом, то пишешь определение в хедер файле
164 2414235
>>14059

> анальный клоун


Я >>14014 другой анон есче :)
165 2414236
>>14227

> Если кратко, все делают как хотят, никаких стандартов в индустрии не существует


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

> Но если класс является темплейтом, то пишешь определение в хедер файле


Время компиляции не жмет?
166 2414239
>>14236

> мои работы на гитхабе не выглядели по-долбоебски


Делай как в армии, безобразно но однообразно
167 2414263
>>14236

> Время компиляции не жмет?


А кресты тебе не жмут? Или ты темплейты не используешь вообще?
168 2414277
>>14263
Использую, сам недавно узнал о такой залупе с шаблонам. Неудобно конечно и компил тайм увеличивает, но зато все логично. Вся-таки надстройка над портативным ассемблером, а не какой-то там абстрактный язык.
169 2414281
>>14277
Второй день на крестах пишешь?
170 2414285
>>14281
Ты себя ебланом выставить хотел таким вопросом? К синтаксису шаблонов только глаза привыкают 2 недели.
171 2414289
>>14285
Ты бы лучше кресты учил, а не толстил тут.
172 2414290
>>14285
к говносинтаксису плюсов в принципе невозможно привыкнуть не пизди
16584256863290.png194 Кб, 512x512
173 2414295
>>14290

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

174 2414371
>>13711
vs code + любой компилятор
175 2414387
Анон привет.
for (cost auto & it : entries)
{
auto I = std::distance(entries.begin(), it);
}
Как взять индекс I в таком цикле, работает при for (auto it=entries.begin(); it! = entries.end(); it++), а в варианте #1 нет. Не то, чтобы проблема, но хочется знать.
P.S. Написал в прошлый по ошибке
176 2414403
>>14387
range-based for это сахарок над итераторами для случая, когда тебе как раз не нужны индексы. Зачем ты пытаешься их получать? Если очень хочется, то можешь объявить отдельную переменную, которую будешь инкрементить.
177 2414480
>>14236

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


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

> Время компиляции не жмет?


Ну а что поделать
https://stackoverflow.com/questions/495021/why-can-templates-only-be-implemented-in-the-header-file
.png24 Кб, 1198x608
178 2414482
Я не знаток С++.
Потому, скажите мне, что я сделал не так.
Я просто не верю, что вот так вот нужно на самом деле писать.
Просто мои познания плюсов - ограничены вузом, там по сути из плюсов нам только про классы рассказали, а остальное скорее был чистый си. А потом я увидел жаву, влюбился и плюсы не трогал.
Но вот решил потрогать. И я опять же не верю, что вот так вот на самом деле на плюсах нужно писать.
Покажите, как надо на самом деле.
179 2414491
>>14482
Ты не понимаешь. Это легко читаемый, идиоматичный С++. Хороший компилятор преобразует итерацию в команду деления, если они есть.
180 2414493
>>14482

> Я не знаток С++


А чего ты знаток? На сишке или жабе это тоже будет считаться лютым говнокодом. Если ты долбаёб, то на любом языке будешь писать хуиту. Нахуй ты циклы используешь, когда есть std::chrono::system_clock::now()?
181 2414494
>>14482
low quality bait
.png11 Кб, 732x23
182 2414495
>>14493
Ну, на текущий момент - я лид в команде на шарпах. До этого в жаве был.
Ну и для сравнения как это же делается в шарпах.
183 2414499
>>14493
А про

> Нахуй ты циклы используешь, когда есть std::chrono::system_clock::now()?


Цель вывсести время работы системы. Каким образом это поможет - я хуй знает, потому что судя по описанию:

> Returns a time point representing the current point in time


Если это подразумевает время прошедшее с запуска системы - то извиняй.
184 2414501
>>14495

> я лид в команде на шарпах


Да кому ты пиздишь, студент ебучий. На крестах это делается ровно так же, как на твоём пике, только с другими названиями методов.
185 2414503
>>14495

>я лид в команде на шарпах


А я — скрам-мастер за 8k$/mo
186 2414504
>>14499

> system_clock


> now


> время прошедшее с запуска системы


Ты оказывается ещё и читать не умеешь?
187 2414505
>>14495

>Gets the number of milliseconds elapsed since the system started.


>public static long TickCount64 { get; }


Буэ. Почему не наносекунды, почему нет своего типа, чтобы работало автоматическое приведение хоть к строке, хоть к Аллаху?
188 2414513
>>14501
Чел. Так покажи. Я же сразу сказал, что не шарю за плюсы. Я потому и спросил же. Потому что по результатам гугления и смотрения на гитхабе - создается впечатление, что все вот так и делают.

>>14504
Я в упор не понимаю что ты хочешь сказать.
Чел, взглянув на функцию - зачем-то предлагает std::chrono::system_clock::now
При этом.
Функция называется : printUptime
В теле функции - происходит нахождение дней, часов, минут, секунд и миллисекунд прошедших с запуска системы и вывод это в стандартный вывод.
Но я - дурак. Я читать не умею.

>>14494
Какой еще бейт?
Возникли задачи на плюсах на работе. Очень жесткие требования к производительности и потребляемым ресурсам.
Я - последний раз писал на C/C++(именно что вот так, потому что от плюсов там только классы) на втором курсе и это был интерпретатор паскаля.
Сейчас - происходит исследовательский этап работ, по выяснению и составлению best practice, чтобы когда он закончился и новая команда была собрана - не тратить время на набивание шишек, а дать документик, с гайдлайнами и примерами как надо, а как не надо.
Для примера - пилится простой сервер, будет корректировать время устройства, плюс отдавать данные с датчиков и диагностическую информацию, как раз в духе работы системы.
Ну так вот.
Меня как раз и смутило, что я не смог найти какого-то единого и удобного способа, такую простую вещь, как вывод времени работы хотя бы просто получить.
Как я помню - С++ был ООП языком. И я почему-то ожидал, что будет что-то в духе: System.Uptime ну или похожего толка.
Опять же, если знаешь пример как вывести проще время работы системы - покажи. Я только ж рад буду, добавлю в документик как хороший пример.
189 2414517
>>14495
Это такой троллинг тупостью? Напиши алгоритм быстрой сортировки на плюсах, а потом выспи в треде - а на шарпе это делается вот так a list.Sort();
190 2414518
>>14513

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


Это сколько раз в секунду нужно дёргать uptime, чтобы он тормозил?
191 2414519
>>14491
А относительно этого, я вот только после того как запостил - заметил, что один while - лишний. Это действительно плохой код со стороны.
Я просто почему-то думал, что мне покажут как надо. Я ж не специалист. А в шарпах тех же - сейчас тренд на как-бы функциональщину и циклы там никто сейчас почти не пишет. Все оч высокоуровнево.
>>14517
Нет не троллинг. Я потому и спрашиваю. Потому что в тех же плюсах я помню, что был std::sort.
Но для такой простой вещи как время и временные промежутки для прикладных задач - все что я увидел это использование std::chrono и руками для нужд пилить вот такое вот.
>>14518
Это пилится пример.
Реальное ПО должно будет с датчиков на дешевом китайском железе собирать информацию, хранить в Sqlite и по запросу отдавать в систему сбора, которая в свою очередь будет приводить к общему виду и в облако отправлять, а пользователь - будет видеть что у него там котел перегрелся и нужно включить аварийное охлаждение.
192 2414525
>>14513

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


Небось на русском гуглил
193 2414550
>>14403

>range-based for это сахарок над итераторами для случая, когда тебе как раз не нужны индексы. Зачем ты пытаешься их получать? Если очень хочется, то можешь объявить отдельную переменную, которую будешь инкрементить.


Для того, чтобы на основе текущего индекса и entry.size() высчитать прогресс операции в основной thread. Про переменную знаю, так и делал, но мало ли, может ещё варианты есть. А range based использую для лаконичности.
194 2414552
>>14387
Хотел было написать про ranges::view::enumerate, но его ещё не приняли и, видимо, не примут даже в C++23
195 2414574
Анон, каков шанс пройти собес, да и просто быть на него приглашённым на c++ джуна без профильного образования и еба-онлайн курсов.
Не вкатывальщик, с плюсами знаком больше 10 лет. Есть несколько не оупенсорс пет проектов, часть из них правда старое легаси на мобайл.
Плюсы люблю, вижу как последние 10 лет он развивается, и логику и gui пишу только на нём, но комплексную из-за отсутствия диплома (хотя столько заданий решил будущим "дипломированным специалистам" с FL) и из-за возраста за 30 (ну ладно, чуть за 40). Ну и отсутствия опыта коммерческой разработки (донаты юзеров этож не коммерция наверное).
Активно юзаю stl, могу в многопоток, успешно интегрирую сторонние либы в свои поделки, git, cmake, несколько ide и компиляторов. Был опыт с opengl и glsl. Знаю на базовом уровне sql запросы, т.к. юзаю СУБД у себя, что не знаю, узнаю в процессе.
Жабу или Kotlin немного пробовал, но душа лежит к плюсам. От веб разработки или 1с тошнит. От разделения на backend или front-end впадаю во фрустрацию, вот десктоп приложение это фронт или бэк? Если пишу и логику и gui.
Любую технологию по мере надобности осваиваю, в общем практик. Но и литературу почитываю. Inb: шутеечки про завод.
196 2414604
>>14574

> за 40


> отсутствия опыта коммерческой


> без профильного образования


Тут проблема в том, что тебя ХР даже до чела которому нужен разработчик не покажет твое резюме.
В твоем случае - по знакомствам - единственный рабочий вариант.
Если пользуешься гитхабом, то должен понимать, что он в первую очередь - социалочка. Так вот - вливайся в комунити, когда тебя в нем шарящим начнут считать - вбрось инфу о том, что работа тебе бы была нужна.
Можешь еще во всяких дискорд-конфах и телегах позависать.

Ну серьезно. Я когда про возраст услышал - уже охуел. У меня сразу вопрос: А хули ты 15 лет делал? Без проектов - каких-то, хотя бы уровня микроОС я бы не стал связываться с тобой.

тим-лид на шарпах, 24 года
197 2414606
>>14604
Блядь. Как я люблю писать и редактировать не перечитатв.

> Тут проблема в том, что тебя ХР даже до чела которому нужен разработчик не покажет твое резюме.


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

Думаю так должно быть понятнее.
198 2414610
>>14604
Опять троллишь тупостью?
199 2414618
>>14610
Где ты там тупость видишь, лол?
Моя жена - ХР. И вечерами пятницы под винцо - мы иногда такие вот резюме смотрим и ржем с них.

Ну серьезно. Я бы понял, если бы чел сказал, что он - работал инженером, по долгу службы что-то писал на си, в свободное время учил плюсы, а сейчас - решил не совмещать, а полностью уйти в плюсы.
Я бы понял, если бы он был каким-то там идейным опенсорсером, который что-то уровня Nginx запилил и теперь работу ищет.
Я бы понял, если это чел, который пишет блоги образовательные и у него есть репутация в комьюнити.
Но тут какой-то мутный дед, без ясного опыта и примеров рабочих проектов, который любовью к плюсам воспылал. Тут два варианта: деменция и деньги.
200 2414623
>>14618
Хотя да, туплю. В плюсах же денег нет. По крайней мере, если чел не в nvidia и подобного уровня контору намылился.
Но это еще хуже для деда.
201 2414643
>>14618

>Моя жена - ХР.


>>14623

>Хотя да, туплю.


Скорее в этом.
202 2414646
>>14574

> без профильного образования и еба-онлайн курсов


Это говно нужно только для зумерков.

> шутеечки про завод


Туда джуном без проблем возьмут. А в нормальные конторы джуны скорее всего в принципе нахуй не нужны. Джуны там занимаются макакингом на высокоуровневых языках, а крестовики нужны хотя бы мидлы. Я бы на твоём месте не стал в это болото лезть, в ИТ и без кодинга денег достаточно, а для души можешь и так пердолить что-нибудь.
203 2414668
>>14643
Ну и что плохого в жене ХР?

>>14646

> Туда джуном без проблем возьмут.


Если бы он это писал лет 10-15 назад, то да.
Сейчас - любой приличный завод, которому нужны плюсовики - в каждом региональном вузе имеет кафедру или пару засланцев на кафедры, с которых на практику тащат студентов. А хорошим предлагают работу. И у завода, точно так же как и у галер - есть выбор.
204 2414672
>>14604

>Тут проблема в том, что тебя ХР даже до чела которому нужен разработчик не покажет твое резюме.


Я представляю уровень компетенции хрюш, поэтому и написал.

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


Знакомства в онлайне, часть за рубежом, а хотелось бы офлайн.

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


Я написал git, а не github. В ОС проекты меня приглашали, после некоторой помощи с моей стороны, но где-то было не интересно, где-то был чистый Winapi, что тоже не особо люблю.

>Можешь еще во всяких дискорд-конфах и телегах позависать.


Читаю, пишу. Но форумы и стак по компетенции выше. Дискорд это что-то зумерское?

>Ну серьезно. Я когда про возраст услышал - уже охуел. У меня сразу вопрос: А хули ты 15 лет делал? Без проектов - каких-то, хотя бы уровня микроОС я бы не стал связываться с тобой.


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

>тим-лид на шарпах, 24 года


Завидую белой завистью. Что ты лично от и до написал за последние 15 лет? Интересно, что нужно, чтобы стать таким крутым специалистом.
205 2414674
>>14668

> Ну и что плохого в жене ХР?


То что она воображаемая.
206 2414679
>>14618

>Я бы понял, если бы он был каким-то там идейным опенсорсером, который что-то уровня Nginx запилил и теперь работу ищет.


Я бы понял, если это чел, который пишет блоги образовательные и у него есть репутация в комьюнити.
Но тут какой-то мутный дед, без ясного опыта и примеров рабочих проектов, который любовью к плюсам воспылал. Тут два варианта: деменция и деньги.
Покажи свое, уровня nginx, запредельный ЧСВ ведь не на пустом месте?
207 2414696
>>14646

>Джуны там занимаются макакингом на высокоуровневых языках, а крестовики нужны хотя бы мидлы


Джуна я упомянул в контексте опыта не с языком, а скорее с отсутствием официального опыта.
Про высокоурровневые языки хорошо, что вспомнил: я писал на плюсах расширения для одного из таких, из нативного формата в формат языка. Т.е. делал врапинг родного api платформы в интерпретатор, писал api reference к этому добру, часть просто врапинг, часть расширение функционала. Это к вопросу о том, что я делал 15 лет назад. В принципе это уже legacy, могу выкинуть и на github.
>>14574 "мутный дед" из этого поста.
208 2414702
>>14696
Вот отзыв от разработчика интерпретируемого языка, для которого быдлокодил расширения на плюсах, нашёл:

>Thank you very much username, this module gives us a hole bunch of new possibilities.


>Great!


Мутный "дед" :[
209 2414716
>>14618

> Моя жена - ХР.


Старье.
210 2414718
>>14702
Ну это уже лучше, чем познания в кодинге того школяра-фантазёра.
211 2414725
>>14672

> Читаю, пишу. Но форумы и стак по компетенции выше. Дискорд это что-то зумерское?


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

> письма и благодарности


Лучше бы у тебя были сертификаты или ты значился в патентах/авторах-соавторах.

> Что ты лично от и до написал за последние 15 лет


Все что я писал от и до сам - это не связанная с работой хуня, уровня микро CMS, фреймворки на которых я пробовал идеи возникшие в ходе разработки, в духе: а что если у нас все приложение будет стеком и как это будет работать. Ну и в таком духе. А жизненный цикл этих петов: Возникла идея, за неделю склепал и выкинул на гитхаб, может быть кому интересно будет и форкент.
А тимлид я потому что умею именно что организаторские вопросы решать и быть буфером между девелоперами и бизнесом.
212 2414731
>>14718
В резюме или сопроводительное можно указывать такое? Legacy, сайт остался только в web.archive. На гитхаб могу выкинуть, как пруф и for historycal purposes.
Эйчар действительно малолетние курицы в очках без диоптрий для умного вида, такое впечатление сложилось от просмотра инфоцыган на ютьюбе. И эти сущности стоят между людьми которыми есть что обсудить. Это печально :( "Мутный дед".
213 2414741
>>14550
Ну с 20 можно хотя бы вот так делать:
for (size_t idx = 0; auto&& hui : zhopa) {
// ...
idx++;
}
214 2414744
>>14731

> В резюме или сопроводительное можно указывать такое?


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

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


Зависит от конторы. Если хочешь заебись работу, то надо чтоб тебя пригласили, а не ты оббивал пороги.
У нас хрюша вообще хуй пойми чем занимается - за год ни одного собеседования вроде не было, всех новых брали только по рекомендациям от других сотрудников, такое ощущение что уже в очереди стоят люди на 10 вакансий вперёд.
215 2414746
>>14741
for (size_t idx = 0; auto&& hui : zhopa) { SCOPE_EXIT({ idx++; });
// ...
}
216 2414749
>>14725

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


С конца нулевых вёл, но забросил в начале 10-х. Форум свой был небольшой для своих, народ разный был и из СНГ и из-за рубежа. Но основная масса: пассивная: скачал и убежал, тоже закрыл. Крутым спецом себя не считаю, но и мутным дедом с деменцией, как ты выразился тоже. Опыт есть, но без обсуждения опыта с понимающий человеком через сито чьих-то жён-эйчар пройти проблематично.

>Лучше бы у тебя были сертификаты или ты значился в патентах/авторах-соавторах.


Может и лучше, но имеем что имеем.

>Все что я писал от и до сам - это не связанная с работой хуня, уровня микро CMS, фреймворки на которых я пробовал идеи возникшие в ходе разработки, в духе: а что если у нас все приложение будет стеком и как это будет работать. Ну и в таком духе. А жизненный цикл этих петов: Возникла идея, за неделю склепал и выкинул на гитхаб, может быть кому интересно будет и форкент.


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


Ну вот видишь, не всем, кто может (или не может) что-то показать стоит об этом говорить. Некоторые проекты я вёл несколько лет, в одно жало и каждую версию ждали и был фидбек. До коммерции оно не доросло по причинам не разработки, а сторонним. Ну да ладно это лирика всё.
Мутный дед
217 2414750
>>14746
ух бля макросики мои макросики
.png138 Кб, 347x329
218 2414759
опять какой-то дед в тред протек с десятком лет опыта, сотнями проектов и тысячами пользователей, а на деле на 4пда прошивки под симбиан пилит по выходным за бутылку пива
219 2414762
>>14759
Какой блять симбиан в 2к23?
220 2414891
>>14762
я ебу? у деда спроси что он там такое важное пилит, что даже на ждуна вкат не осиляет
221 2414893
222 2414966
>>14574

> хотя столько заданий решил будущим


Там же заказы на плюсах раз в месяц появляются
223 2414968
>>12136
Конечно, ассемблер. Но в 90% случаев, С++ сделает то же самое, что ты хочешь на ассемблере.

Уже давно С/С++ компиляторы могут использовать крутые инструкции, о которых хер вычитаешь иногда.
224 2414979
Крестаны, почему Си-дебилы так ревут что С++ говно, когда он, в отличии от джавапораши не заставляет тебя использовать классы?

По сути, С++ без классов это просто тот же Си, только удобнее во многом. Ну мне с new проще чем с маллоком хуяллаком и прочей дрисней
225 2414984
>>14979
Да в сишниках одни деды и шизы с заводов, че с них взять. Я вот люблю Си и уважаю.
226 2415000
>>14984
Я тоже люблю С, но мне нравится использовать многие фичи из С++. Соответственно я пишу на С++ без классов. Чому я не прав, не пынямаю?
227 2415008
>>15000

> я пишу на С++ без классов


laba1.cpp?
228 2415011
>>15008
Бот детектед. Отвечает на фразы без контекста.
229 2415016
>>14979

>тот же Си


с миллионном говняных семантик, которые ты не можешь просто взять и заигнорить

ну вобщем когда что то крупнее лабы напишешь, то поймешь о чем я
230 2415021
>>15011
Контекст тут в том, сынок, что свои лабы можешь писать как хочешь, разрешаю.
231 2415022
>>15016
Примеры? Пруфы? Ссылочку на RT?
232 2415023
>>14979

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


Но заставляет использовать корректные типы. Когда тебе приходится иметь дело с байтоёбством, то приходится дико ебаться, ведь кастануть что угодно к void⚹ нельзя. std::any немного упрощает жизнь, но всё равно не покрывает всё. В winapi например есть всякие LPxxx, которые очень неохотно кастуются, строки бывает сложно кастануть в правильный тип, хотя ты прекрасно знаешь что там массив чаров. Хотя с другой стороны после раста это кажется лёгкой задачей, там даже ансейф не даёт так просто наебать типобезопасность.

> с new проще


Его вообще нормальные люди в 2k22 не используют.
233 2415026
>>15023

>нормальные люди в 2k22 не используют.


А что нормальные люди используют в 2к22? а что байтоебы используют?
234 2415027
>>15022

> Примеры?


- эксепшены
- мув семантика
- RTTI
235 2415028
>>15023
Посоветуй для венды компилятор на си
236 2415031
>>15028
clang
237 2415032
>>15026

> А что нормальные люди используют в 2к22?


std::unique_ptr

> а что байтоебы используют?


Даже я, байтоёбствуя, никогда new не использую. Всё на стеке, либо unique_ptr, либо уже из либ получаю указатели на кучу.
238 2415036
>>15027

>эксепшены


это че

> мув семантика


не ебет вообще.

> RTTI


Связь какая? Речь идет о байтоебстве, а не об адекватной разработке софта.
239 2415038
>>15032

> std::unique_ptr


std::make_unique<T>
1635559634164.png28 Кб, 1244x299
240 2415039
>>15028
Чем тебя от майков не устраивает?
241 2415041
>>15038
Обычно без этого можно создавать unique_ptr.
242 2415042
>>15036

>Речь идет о не об адекватной разработке софта


прошу прощения, ошибся
243 2415046
>>15039
Ну выбрал это, а дальше че делать? Создавать новый файл .c и все? И точно все сишное будет? Среда не будет ругаться, что я выбрал scanf вместо scanf_s?
244 2415048
>>15027

> эксепшены


Выключаются в компиляторе, совсем.

> мув семантика


Без неё оптимизированный код невозможен. У тебя же даже в сишке с включёнными оптимизациями неявно перемещаются структуры.

> RTTI


Выключается в компиляторе, совсем.
245 2415050
>>15048

> Выключаются в компиляторе, совсем.


> Выключается в компиляторе, совсем.


Подскажи ньюфу как сделоть? И как без rtti полиморфизм и прочие рантаймовые вещи будут работать?
246 2415054
>>15048
Вот этого двачую. Ну и повторюсь: почему бы не писать на С++ без классов заместо Си для байтоебства?
247 2415055
>>15048

>неявно перемещаются структуры.


Это что еще за полтергейст?
1554317761607.png33 Кб, 1266x342
248 2415057
>>15046

> И точно все сишное будет?


.c будет компилится сишным компилятором. Пикрилейтед можешь для всего проекта выбрать или для отдельного файла, разрешение хоть txt делай.
249 2415063
Самые ценные фичи крестах - это комменты и автодобавление .h в include. От остального можно и нужно отказаться.
250 2415064
>>15055
Copy elision даже для сишного кода есть в современных компиляторах.
251 2415072
>>10386 (OP)
Иду строго по книге, компилятор не дает запустить выдаёт ошибку. Почитал, либо нужно сделать strcpy_s(всё равно не дает запустить пропадает синтаксис). Или же сделать DEFINE _CRT_SECURE_NO_WARNINGS, но также не даёт запуск. Помогите неосилятору
252 2415075
>>15063

>Самые ценные фичи крестах - это комменты и автодобавление .h в include.


?
>>15072
Отключи варнинги, посмотри параметры функции strcpy_s и исправь код.
253 2415080
inb4: не бейте за хабр, я знаю что это пикабу для кодеров

https://habr.com/ru/post/440566/

Какой вывод можно сделать из этой статьи? Автор хочет сказать что SIMD инструкции — хуйня без задач и ШВИТОЙ компилятор все сделает за тебя? Так?
254 2415082
>>14749
Я если что не хочу тебя демотивировать, няша.
Попробовать порассылать резюме и примеры того что делал - стоит. Желательно, раз уж ты вроде как шаришь - сразу на тех спецов выходить, потому что они таки последнее слово имеют, и в отличии от хрюши твои дипломы, возраст и прочее для них имеет третью важность.
Сорян, если показалось, что я пытаюсь тебя отговорить. Пробовать стоит в любом случае.
ccccccpppppp.png684 Кб, 830x494
255 2415102
>>10386 (OP)
Подподает ли определение собственных и использование всяких мелких типов (меньше стандартного инта) под термин БАЙТОЕБСТВО. Есть мнение что типы меньше машинного слова только для педерастов поскольку не дает никаких профитов в скорости потому что они все равно приводятся к стандартному.
256 2415108
>>15102

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


Не приводятся.

>не дает никаких профитов в скорости


Их не для скорости используют.
257 2415112
>>14968

> в 90% случаев, С++ сделает то же само



Вот поэтому самый топчик это не ассемблер а профайлер с дизассемблером.
Пишешь на плюсах потом проверяеш что компилятор не нагенерил ненужной хуеты.
258 2415113
>>15102

>профитов в скорости потому


Иногда дает, если их много. Потому что кэш.
259 2415120
>>15108

>Их не для скорости используют.


Для экономии памяти?
260 2415124
>>15080
Хуйня без задач - говнокодер, считающий что если в одном месте что-то оптимизировать, то весь код станет быстрым. Сравнивать ручную оптимизацию в -О0 с -О3 - настоящая умственная отсталость.
Поэтому в очередной раз делаем вывод, что хабр - это помойка уровня пикабу.
261 2415127
Юник поинтер это же по сути переменная, только хитрая, владеет памятью из кучи и умеет ее освобождать, когда выходит из области видимости. Почему тогда не сделали метод .copy() для нее, чтобы можно было создать переменную, владеющую другим кусом памяти, но заполненную такими же данными.
262 2415129
>>15080
>>15124

>inb4: не бейте за хабр, я знаю что это пикабу для кодеров



А что является двачем для кодеров? С рулеточкой и фап тредами?
263 2415131
>>15127
Но зачем? Чем тебе "=" не нравится, наркоман?
264 2415133
>>15127
потому что она юник. используй другой вид смарт пойнтера.
265 2415135
>>15120
И еще крипта, протоколы, строки, флаги и все остальное байтоебство...
266 2415136
>>15129
Гитхаб.
267 2415139
>>15120
Ну да например
если тебе надо запихать в память дохуя данных
а рамы всего 64 гига.
Такое редко, но встречается.
268 2415142
>>15136

>Гитхаб.


Это который разрабатывают индийцы для того, чтобы другие индийцы могли ставить друг другу звездочки и проходить собеседования таким образом, чтобы дальше подобную хуету разрабатывать?
269 2415147
>>15142
Да это то место куда сливают лабы в надежде получить работу. Пытался найти что-то по openGL нашел только код с протухшим glut от линуксойдов.
270 2415150
>>15102

> приводятся к стандартному


Нет, у тебя все инструкции могут принимать однобайтные константы: короче инструкция - лучше кеш работает и меньше задержки. В кэш-лайн больше переменных влезет, если делать их меньше - быстрее из памяти чтение будет. Из регистров можно брать отдельные байты.
271 2415154
>>15142
Там по крайней мере бывает неплохо обоссывают друг друга в issue, чего не найдёшь на хабре.
272 2415155
Вообще можно сделать копию ресурса смарт поитера, я хуйню написал
Просто сахарка мало, не показывайте питоновца, в обморок упадут.

auto sptr = std::make_unique<std::string>(std::string("Ti pidor"));
auto copysptr = std::make_unique<std::string>(⚹(sptr.get()));
273 2415157
>>15155
Вот ты даун. Смарт-поинтеры можно дереференсить как обычные указатели и обычным знаком "=" вызывать конструктор копирования.
274 2415158
>>15150
Мне в универе говорили что short приводится к int.
275 2415167
>>15142
Это где обучили нейроночку писать на крестах.
276 2415169
>>15158
Ух ты. А что это значит, не объяснили?
277 2415182
>>15158
Поэтому после универа и каша в голове у всех. Структура из 4 чаров будет занимать 4 байта, а не 16. Так же и на стек можно пушить 8 байт RAX, а можно 1 байт AH/AL. То что widening-касты происходят неявно не значит что там выравнивание меняется.
278 2415196
>>15169
Не, сказали не париться с short потому что автоматически он переведется в int и обработается как int процесоором. Видимо такая приколюха чтобы у байтоебов пердак порвало когда узнают.
279 2415197
>>15167
В чем они не правы?
280 2415204
Я так и не понял, крестаны, действительно ли не нужно запариваться инструкциями, отладкой, ассемьлером и прочей дрисней и просто напросто использовать O3 который сделает все за тебя быстрее сам? Звучит как бред.
281 2415208
>>15204
смотря что конкретно ты хочешь и зачем тебе это нужно
1568979208850.png31 Кб, 673x372
282 2415209
>>15196

> обработается как int процесоором


На бюджете такому учат? Сложение может быть разными инструкциями выполнено, один опкод может принимать разные размеры данных.
283 2415214
>>15209

>На бюджете такому учат?


В шараге да. А ты где такому научился? Сам или в универе?
284 2415221
>>15214

>где


хоссспади студентота, всему в компутер саенс можно и самому изучить.
Вкатывайся в реверсинг да и все
285 2415229
>>15221
удвачиваю
без навыков реверсинга в говнокоде не выжить
286 2415232
>>15196
Это не вся правда. Хранится он будет как short, обрабатываться ИНОГДА тоже:
short s; ... s++;
Этот инкремент потребует две команды на мипсе вместо одной.
addu s0,1
and s0,65535

байтоеб
287 2415245
>>15232
Какой-то адский ассемблер. Чому так? На х86 все спокойно
288 2415265
>>15221
>>15229
как вкатываться в реверсинг?
289 2415269
>>15265
Любимая сингл игра есть?
Засунь в дизассемблер, например в IDA Pro или radare2, начни изучать. Патчи константы, функции, смотри, анализируй. Потом вкатись в godbolt
290 2415274
>>15269
что такое godbolt?

>>начни изучать. Патчи константы, функции, смотри, анализируй



где-нибудь, в какой-нибудь книжке написано как эти базовые вещи делать? моя только команду nop понимат
291 2415277
>>15274
На русском советую книжку "низкоуровневое программирование"
292 2415283
>>15277
кто автор?
293 2415285
>>15283
Степан Бандера
294 2415286
>>15283
Столяров офк
295 2415304
>>15286
это только в начале второй книги? большего не нашёл
1594145441163.mp4505 Кб, mp4,
360x298, 0:13
296 2415317
>>15232

> на мипсе

пппп.png59 Кб, 931x417
297 2415324
>>15304
А первую почему проскочил? Тише едешь дальше будешь.
298 2415344
>>15286

>Столяров


Нахуй он всрался со своими водяными книжками
299 2415371
>>15245
Тому, що в мире RISC регистры не дробятся на кусочки.
300 2415372
нормально, чё
а вы тут ноете что работы нет
а вот челик не унывает
влюбился в явку, покодил на ней, но вывертами судьбы оказался "лидом" в сишарп проекте, а сейчас вот будет походу лидом в команде плюсовиков
и везде нужный и полезный
а в коде портяночка из ифов и циклов, кхе, кхе
301 2415375
>>15324
первая уже прочитана
302 2415393
image.jpg17 Кб, 201x286
303 2415395
>>15393
отклеилось
304 2415444
>>15395
спасибо
p.s. не скоро доберусь до этой книжки - есть в закромах, когда доберусь не знаю буду ли что-нибудь понимать(
как же многое зависит от автора... дай некоторым букварь написать и иная книжка по матанализу будет проще
305 2415451
>>15395
В целом бесполезная книга. И довольно устаревшая. Все эти базовые вещи сделает за тебя Гидра. А вот про высокоуровневые вещи тебе там не расскажут, а ты с ними столкнёшься. В реальном бинарнике из 2022 года надо с vtable разбираться, анпакингом, защитами на виртуальных машинах, скриптовыми движками, говном на стеке, портянками после оптимизаций, VEX. Помощи от Карпеского с его книгами никакой, только если консольный crackme ковырять сможешь после неё. Намного полезнее прочитать если не все 5к страниц документации Интела, то хотя бы 2A и 3A.
306 2415453
Для чего нужны списки инициализации гайс?
Я уже несколько ссылок прочитал, все равно нихуя не понял.
Вроде относительно сложные вещи понимаю, но вот это - нет. Зачем это надо?
307 2415472
>>15451
спасибо
но буду начинать с книжки, надеюсь она попроще
308 2415494
>>15453
Выполняются до конструктора, оптимизации конпелятора. Всё.
309 2415516
>>14979

>почему Си-дебилы так ревут что С++ говно


-
>>15155

>auto sptr = std::make_unique<std::string>(std::string("Ti pidor"));


>auto copysptr = std::make_unique<std::string>(⚹(sptr.get()));

310 2415521
>>15516
Так это дрочер, нормальные люди так не пишут.
311 2415524
CppCon 2018: Nicolai Josuttis “The Nightmare of Initialization in C++”
https://www.youtube.com/watch?v=7DTlWPgX6zs
Вот это выступление на меня оказало можно сказать экзистенциальное воздействие.
Раньше я очень любил изучать разные фишки-фишечки-фишульки разных языков, что там да как. Но как то это увлечение сошло на нет, а вот это видео было особенно переломным в этом процессе. Теперь я просто хочу чтобы на языке было максимально просто написать то что мне хочется и без подводных камней, а дрочка на "стандарт" это что то сродни окунанию в море дерьмища.
312 2415541
>>15524
Пиздец.
Он серьёзно выступает за то чтобы писать
for (i{0}; i < 2; i++)
И за это еще получает бабло
313 2415563
>>15524
Что бывает, когда в язык тащат что попало.
Вот в божественном SML есть один способ:
val i = 0
and f = 0.0
Тип выводится, присвоение опустить нельзя (оно вообще однократное).
314 2415669
>>15541
А что ты имеешь против?
315 2415758
>>15563
Тоже люблю ML семейство в плане синтаксиса. Вот что бывает когда язык разрабатывают люди с чувством прекрасного, а не байтослесари.
316 2415761
>>15521
Вероятность того что в коде с которым тебе придется иметь дело порезвился хотя бы один такой ебнутый очень велика, практически равна единице.
image.png191 Кб, 830x556
317 2415854
Скомпилировал библиотеку hidapi, пытаюсь статически подключить, но пишет вот такие ошибки. Что делать?
318 2415860
>>15854

> пытаюсь


Не надо пытаться, надо просто прилинковать.
319 2415861
>>15860

>просто прилинковать


Как?
320 2415868
>>15861
Я ебу? Прочитать документацию к твоему тулчейну. Это же база.
321 2415871
>>15868
У меня из тулчейна вим да main.cpp, я вообще хз чё делать.
322 2415872
>>15860
Ну я написал #include "hidapi.h"
в .pro фаиле qt написал пути к хеадеру и библиотеке
>>15861
ты то куда лезешь
323 2415873
>>15871
че ты делаешь
324 2415875
>>15873
Чай пью, а что?
325 2415877
>>15875
молодец, так держать
326 2416450
Есть ли случаи в которых фича запиленная средствами чистого С будет работать быстрее той же фичи запиленной средствами крестов?
327 2416471
>>16450
Нет.
328 2416472
>>15873
Ахаха, прекрати
329 2416553
>>16450
Строки.
330 2416558
Что учить помимо куды чтобы вкатиться в вычисления на гпу?
331 2416561
>>16558
Опенсл.
332 2416576
>>16558
Питон. А куду выбрось.
333 2416672
Сделал приложение под orange pi, ubuntu, оно должно работать с hid устройством. При запуске приложения оно не может читать байты с hid устройства. Но если запустить через командную строку и sudo, то оно читает, но там какой то режим запускается, что у меня графика вся уебищная и 2 фпс всего если я через sudo запускаю. Как разрешить приложению доступ к hid устройству
334 2416675
Что и где можно почитать/посмотреть про cmake и как им компилировать под все платформы (линукс, шиндовс, макось) приложение с динамической подгрузкой нативных либ? В шапке быстрым поиском не нашел ничего про cmake, книжки не читал.
335 2416702
>>16675

>им компилировать


Он не компилирует.

https://cmake.org/documentation/
336 2416706
>>16672
Попробуй отказаться от прав.
337 2416716
>>16702

>Он не компилирует.


Ну к словам-то уж не придирайся. И вообще, в широком смысла слова - таки компилирует.

>https://cmake.org/documentation/


Оттуда собственно и начал. Изначально мне не понравилось, что в туториале исходный код кладется рядом с конфигом cmake, но видимо отдельно класть научат попозже. Ладно, укатываюсь туда.
338 2416718
Чанками какого размера оптимально читать большой файл?
339 2416737
>>15516
Ага-ага, меня вот одно уебище по имени Артем, не будем называть имена, собеседовало и спрашивало про то, какой тип данных вернет функция со всратой сигнатурой. Нет бы написать auto, но у этих уебком на проектах сишный код и ембедед.
340 2416746
>>16675
Boost.DLL посмотри
341 2416770
Если для каждого процесса ОС создает сегменты, в том числе и Heap, то зачем каждый раз обращаться к ядру, чтобы использовать часть хипа?
342 2416772
>>16770
Выделяется виртуальная память, а не физическая
343 2416773
Пытаюсь посчитать циклы проца в коде типа
for (int i = 0; i < 10000000; i++) {
start = get_cycles_start();
// code to benchmark
end = get_cycles_end();
num_cycles += end - start;
}
но в ассемблерном коде gcc выдаёт аналог вот такого кода
for (int i = 0; i < 10000000; i++) {
// code to benchmark
start = get_cycles_start();
end = get_cycles_end();
num_cycles += end - start;
}
Как запретить gcc изменять порядок инструкций? Желательно не для всего кода, а локально.
344 2416774
>>16772
Чем виртуальная память отличается от физической?
345 2416776
>>16772
То есть года я пишу malloc, ОС перезаписывает таблицу виртуальной памяти (забыл как она правильно называется)
346 2416784
>>16774
Ей можно физически не выделять
347 2416793
>>16784
Бля, так вот почему запускалась и работала прога с созданием массива на овердохуя гигов памяти, но стоило туда попробовать что-то записать, и она сегфолтнулась.
348 2416794
>>16784
И что это значит?
349 2416819
>>15521
>>15516
В чем я не прав? Напиши как ты реализуешь отельный юник поинтер на отдельную память с тем же значением.
350 2416867
>>16819
auto sptr = std::make_unique<std::string>("Ti pidor");
auto copysptr = std::make_unique<std::string>(⚹sptr);

ты там лишнего нагородил
мимо
351 2416961
>>16867
Ну откуда я знал, у меня же cppreference в башку не вшит. Хотя то, что перегружено разыменование очень даже логично.
А еще путаюсь с категориями выражений. Скажите, любое выражение, которое справа от знака равно вернет r-value? В частности сначала (⚹sptr) вернет r-value, а потом функция std::make_unique() вернет r-value?
352 2416965
>>16961
Ни что из этого не вернет рвэлью, в данном случае
353 2416971
>>16819
Я просто вообще никак не могу понять чего ты хочешь добиться и нахуя заводить два юник пойнтера на один объект. Его же блядь не для хохмы назвали ЮНИК пойнтером. Проблемы уровня что выведет i+++++i - правильный ответ - такое напишет только пидор ебнутый.
354 2416974
>>16971
Макака, второй поинтер копирует строку по значению
У тебя в итоге два принтера на две одинаковых строки ссылаются
355 2416992
>>16965
Я понял, ты имеешь ввиду, что (⚹sptr) вернет ссылку. Но ведь ссылка стоит справа от =, она разве не становится r-value или я вообще ничего не понимаю.
>>16971

> онять чего ты хочешь добиться и нахуя заводить два юник пойнтера на один объект. Его же блядь не для хохмы назвали ЮНИК пойнтером.


Бля, какой же ты тугой, сколько раз говорить, это не два поинтера на один объект, а два поинтера на разные объекты, но одинаковые по битам.
356 2416995
>>16974
Ты так и не написал зачем, чудик.
357 2417001
>>16992
Ты серишь говном под себя, а тупой у тебя кто то другой, ну-ну.
358 2417002
>>16995
У тебя есть объект Obj а.
В какой-то момент в коде нужно сделать его клон Obj b(a).
Все. разница только в том, что смартпоитеры за собой убирают.
359 2417005
>>17002
Из-за таких чертей как ты хром при каждом нажатии кнопки в панели создавал-удалял 10000000000000000000000000000000000 объектов
360 2417006
>>17005
Неправда! Для меня важна производительность, поэтому я стремлюсь разобраться и тестирую разные кейсы, поэтому я и выбрал кресты для вката.
361 2417098
Отладчик в студии вообще через жопу стал работать. Заходит зачем-то в ostream, когда в консоль вывожу, строки пропускает, требует какой-то exe_common.inl. Раньше было лучше.
362 2417127
>>16961

>что перегружено разыменование


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

>любое выражение, которое справа от знака равно вернет r-value


value категория — это характеристика самого выражения, а не возвращаемого значения, то есть само выражение может быть rvalue или lvalue

и нет, справа от знака равно необязательно rvalue

"⚹sptr" — это lvalue, потому что дереференс возвращает lvalue ссылку

"std::make_unique()" — это rvalue, потому что это вызов функции, который возвращает НЕссылку

https://en.cppreference.com/w/cpp/language/value_category
363 2417141
>>17127
Все верно

> и нет, справа от знака равно необязательно rvalue



Само собой, но я не понимаю, что конкретно делает оператор = с правым операндом, как бы нелепо это не звучало.
Я предполагаю следующий алгоритм:
1) вычисляет выражение, и как ты правильно заметил категория всего выражения может быть как r-value, так и l-value
2) если это l-value, то он применяет к нему операцию получить значение

И если это ссылка, то операция применяется конечно не к ссылке, а к сущности, на которую ссылка ссылается.

Вопрос остался в том, одинаково ли другие операторы выполняют операцию получить значение, например та же функция printf().
image.png38 Кб, 1356x289
364 2417153
>>17141

>что конкретно делает оператор = с правым операндом


так от контекста зависит: переопределён ли оператор равно или нет, что стоит слева от знака равно

>1) вычисляет выражение


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

>2) если это l-value, то он применяет к нему операцию получить значение


>И если это ссылка, то операция применяется конечно не к ссылке, а к сущности, на которую ссылка ссылается.


звучит как бред какой-то, я не понимаю, о чём ты, ссылки же по сути те же указатели, просто с немного другим интерфейсом

от того, является выражение lvalue или rvalue, могут быть вызваны разные перегрузки функции (move assignment или copy assignment, например), там нет никакой магии, просто overload resolution, как с обычными функциями
365 2417156
Есть большой файл, нужно его частями прочитать, кое-как обработать и записать в другой файл. Сейчас всё это работает в цикле, каждый блок пишу в строку. Всё работает вплоть до последнего блока когда кол-во байт считанных из файла может быть меньше тех, что я заранее резервирую в строке, в итоге логика ломается из-за хлама в строке. Как пофиксить?
366 2417186
>>17156
Смотреть сколько ты символов в буфер записал, столько и считывать
367 2417201
>>16770
не, челик, не каждый раз при обращении к куче
смена контекта идет при запросе или освобождении памяти
а вообще прикладному программисту нужно просто знать те функции которые могут привести к смене контекста и минимизировать их там где нужно писать быстрый код
368 2417211
>>17201

> не, челик, не каждый раз при обращении к куче


Да, я хуево написал, обращение к ядру только new и delete, уже выделенную память мы естественно без посредников используем.
image.png59 Кб, 225x225
369 2417218
Аноны, а какая у вас предметная область? У веб-макак, шарпистов, джавистов спрашивать нечего, там сплошное перекладывание ЖЫСОНОВ. А вот с сишниками и плюсовиками более интересно. Просто знание языка ничего не дает, поэтому нужны проблемы и методы ее решения, которые можно реализовать с помощью языка. Так в какой области вы работаете и какие проблемы решаете?
370 2417240
>>17218
Переписываю макакомодели с петухона, правлю/допиливаю говно на qt, иногда с туксом ебусь, иногда с микрухами.
371 2417273
>>17218
Я вкатун и решаю задачу бросания пыли в глаза потенциального работодателю.
372 2417357
>>17186
Что ты имеешь в виду? Буфер я изначально инициализирую нулями, если брать его размер там всегда будет фиксированный размер блока.
373 2417364
>>17218
sw video engineering
374 2417392
>>17218
Телеком. Вместо ЖЫСОНОВ перекладываю всякую бинарную залупу.
375 2417460
>>17218
Фильтрация трафика (middlebox).
376 2417461
>>16773
Не используй RDTSC
Не используй RDTSC
Не используй RDTSC
377 2417463
>>17461
SFINAE
@
RVO
@
COW
@
RDTSC


Сколько ещё странных аббревиатур в крестах?
378 2417493
>>17357
Ты какой функцией в буфер записываешь?
Обычно функции врайт ту баффер возвращает инт, сколько байт записалось в буфер
379 2417494
380 2417495
>>17463

>Сколько ещё странных аббревиатур в крестах?


Челик про инструкцию ia64
381 2417502
>>17463

> COW


Гугл пишет, что крупный рогатый скот.
382 2417523
>>17156
>>17493
Корiче всё оказалось очень просто. Всего-то надо было gcount дернуть.
383 2417547
>>17494
Вот я как раз примерно такие же функции с asm volatile и использую. GCC на asm volatile в данном случае почему-то пох. Возможно, из-за того, что volatile (помимо прочего) предотвращает перестановки инструкций по чтению из/записи в память, а у меня все данные в регистрах помещаются, и обращений к памяти внутри цикла нет. Короче, хз.
Свою проблему решил по-простому: читаю TSC до и после цикла, делю разницу на кол-во итераций.
384 2417566
>>17218
AV вендор. Дёргаю 100500 WinAPI: реестр, фс, драйверы, COM объекты
385 2417567
>>17566
Но ведь это отъявленная вредоносная активность и ты должен сам себя удалить как малварь.
386 2417632
>>17547

>читаю TSC до и после цикла


В кресты не завесли аналог clock()?
387 2417643
>>17567
Ав ядро знает, что мне можно.
388 2417657
>>17463
COW (copy-on-write) это общее понятие, а не

>аббревиатура в крестах


как и RDTSC похоже (не знаю что это)

Главное ты забыл
RAII

Всегда кстати угараю с такой хуиты, что один загон скота не знает что творится в другом. Когда например дотнетчики рассказывали какую они охуенную штуку придумали называется MVC и теперь заживем, при этом даже пол-слова не обранив что все нормальные люди этот подход уже давно спиздили из рельс и применяют во всю. И такая хуита постоянно в общем то.
1542876266320.mp4144 Кб, mp4,
320x240, 0:03
389 2417667
>>17657

> MVC


> все нормальные люди


> применяют во всю

390 2417679
>>17667
Ты сам кто по масти? Пыхопетух сующий все в один файл? Или плюсовик блеющий из своего байто-стойла?
391 2417687
>>17679
В джавах и прочих говнах уже давно на функциональщину пересели. Байтоёбы stateless код пишут. MVC - это синомим легасиговна с бесконечными багами, примерно так же сейчас MFC ощущается в крестах.
392 2417701
>>17687

>В джавах и прочих говнах уже давно на функциональщину пересели.


Только в твоем манямирке похоже. Пруфы?

>Байтоёбы stateless код пишут.


Вообще не представляю что ты там подразумеваешь под

>stateless код


ты что как-то map увидел в коде и перевозбудился? Или десяток туториалов про монады-бурито прочел? Апликативный функтор то хоть козявки отличишь?
393 2417703
Я не врубился. Мультипоток на бустовых сокетах не ломает их? В доке написано, что это составная операция и я не должен писать в один сокет в несколько потоков, НО чем это грозит? Мне надо знать последствия. Если логика как в cin/cout, то замечательно. Или оно крашнуться может?
394 2417714
>>17701

> Пруфы?


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

> Вообще не представляю


Тогда зачем пишешь кринжатину строчкой ниже? Хотя бы загуглил о чём пишут тебе, пред тем как писать что-то.
395 2417726
>>17714

>пишешь кринжатину


Ой бля зумерок, я то думал что ты удивишь батю java фреймворками на которые все

>уже пересели


и которые не MVC
А ты мне суешь мультипарадигменную дрисную нелепую.

>F# сейчас набирает популярность


ну просто охуеваю с тебя. Аж целых два языка используются в пердакшене блядь охуеть просто.
Ну и на хуя мне гуглить твой понос, когда я просто издалека вижу что у тебя полные штаны говнища?
396 2417729
>>17726
Причина подрыва?
Алсо, может ты сам сможешь назвать хоть один свежий MVC-фреймворк на джаве, а не всякие Spring 20-летней давности? Не сможешь же ведь, потому что их нет.
397 2417738
>>17729
А нахуя хоть кому то в java

>свежий MVC-фреймворк на джаве, а не всякие Spring 20-летней давности


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

>stateless код


с примером крупного байтоебского проекта в опен сорсе. Предвижу только один пук-сереньк.
398 2417747
>>17738

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


40к звёзд хватит?
https://github.com/ocornut/imgui
399 2417748
>>17643
Повторяю, это классическое поведение вируса. Любой вирус действует так же, при заражении компьютера первым делом удаляет другие вирусы, оставляя только себя. Вот и твои ав-залупы делают ровно то же самое.
400 2417763
>>17747
Ну если 40к звезд, то ладно, это значит не хуйня из под коня нахуй никому не всравшаяся.
ctrl+f stateless -> Phrase not found
ясно. Давай еще.
401 2417770
>>17763

> хуйня из под коня нахуй никому не всравшаяся


Да уж. Половина ААА-геймдева использует это или свой аналог для разработки игр, но васяну с двача это нинужно.
https://github.com/ocornut/imgui/wiki/Software-using-dear-imgui

> ваши пруфы не пруфы


Ок.
402 2417775
>>17770
Тебя ебанашка прямо в говно нужно ткнуть?

>ctrl+f stateless -> Phrase not found

403 2417785
>>17218
Численное моделирование. Допиливаю OpenFOAM под наши нужды.
404 2417793
>>17775
Т.е. ты не осилил даже текст прочитать? Совсем дегенерат?
405 2417800
>>17793
Ты ебанашка сучая никакого "stateless" кода там в тексте не появится и какую ты нелепую хуиту в своей безмозглой головеньке насочинял, сколько бы я этот текст не перечитывал.
1519602318850.mp41 Мб, mp4,
464x848, 0:07
406 2417822
Аноны, как перестать оптимизировать код? Меня аж трясёт, когда я чётко вижу что можно наговнокодить производительнее. В итоге занимаюсь какой-то хуйнёй, а потом наблюдаю кашу, которая устраивает по производительности, но не устраивает как выглядит. А ещё бывает переписываю классы, когда не нравится их структура. Как лечить это? Какие таблетки пить?
407 2417839
>>17822
Перестать писать на педалях
408 2417882
>>17822
У тебя ОКР. Это не лечится.
409 2417903
>>17822
Пиши все время все с нуля. Всегда так делаю вообще заебца рекомендую.
410 2417921
>>17800
Вообще то об хто прям на главной написано.
пизбец ты тупой хам, я бы на месте того анона с тобой вообще не общался бы
411 2417953
>>17921

>об хто


Об что?
А так да, лучше бы ему (тебе) перестать дристать под себя с "функциональщиной на которую перешли все джависты" и "stateless кодом"
412 2418022
>>17748
Только по согласию юзера. (а после, сетап старого антивиря должен удостовериться, что это юзер его удаляет а не зловред, но это уже не моя забота)
15622323980110.png247 Кб, 500x501
413 2418060
>>17463
CRTP
@
RTTI
414 2418063
>>18060
SIOF, сука
415 2418067
>>18063
чо за SIOF нах

ADL
@
VMT
@
EBO
@
SSO
@
СAS
@
@
UB
416 2418077
>>18067

> UB


Главная аббревиатура, которую надо знать каждому начинающему крестоёбу. А то блять как проинициализируют сид рандома значением неинициализированной переменной, ведь кажется, что там достаточно рандомное значение, чтобы было заебись.
417 2418078
>>18077
У расто петушка случился АНСЕЙФ, сколько програм формально верифицировал?
418 2418081
>>18078
В педе-расте нет форматной верификации, это не пруаеры. И при чём тут блять раст?
419 2418082
>>18081
А зачем там borrow checker? Чтобы что?
420 2418084
>>18082
Чтоб поебаться..
421 2418085
>>18082
Что да боров чекер? Это какие-то проверки для их аналога юник_птр что ли?
422 2418088
>>18082
Что бы ты не мог использовать перемещённую переменную. В крестах ты можешь её использовать и это будет UB, о котором тебе скорее всего компилятор даже не скажет. Причём тут вообще ансейф? Он невозможен без выноса коды в блок ансейфа, но даже в этом блоке borrow checker работает.
423 2418089
>>18088
Потому что для сиспрога у тебя всё ебало будет в ансейфах, ну не всё, а частично, без верификации этих участков ты просто проигрываешь анус пацанам из треда. Но я понял, что ты там вебпарашу пилишь на расте и рад.
424 2418090
>>18088
В плюсах если че использование замуванной переменной не уб
425 2418097
>>18089

> для сиспрога у тебя всё ебало будет в ансейфах


Даже при работе с винапи достаточно оборачивать ансейфом только непосредственно вызовы функций, null обрабатывается как None в Option, коды ошибок возвращаются в виде Result. Всё остальное пишется без ансейфа, есть куча safe-биндингов для либ, в том числе и системных. Да и нихуя в ансейфе нет страшного, блок ансейфа значит лишь то что внутри него рантайм раста не управляет памятью, все проверки всё так же работают в нём.
>>18090
Как обычно изворачиваются как могут - "valid but unspecified state". Т.е. переменная валидная, а что в ней находится стандарт не регламентирует. Некоторые инициализируют перемещённую переменную дефолтным значением, как в гайдлайне рекомендуют, кто-то не станет - в любом случае это гадание по фазе луны, фактически UB, если будешь использовать её после перемещения.
426 2418102
>>18097
Это не уб, долбаеб. Съеби нахуй
427 2418126
>>18097

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


))
428 2418168
>>18067
Static Initialization Order Fiasco
429 2418244
>>18022

>Только по согласию юзера.


Это называется "троян". Зловред маскируется под полезную программу, заставляя юзера самого его поставить.
430 2418359
>>18244
Ой, да иди ты в задницу, и драйвера удали - их сетапы то же самое делают.

Конечно мы удаляем другие ав, иначе не факт, что система запустится.

Если не можешь проверить подпись и чек сумму дистриба - не ставь.

А мозгоебли, что можно, а что нельзя, мне и от MS хватает, один аплейт винды охуительнее другого (у них есть куча документов в открытом доступе и ещё пачка под NDA)

затралел, доволен?
431 2418370
>>18359
А как ты прокомментируешь то что твоё говно работает хуже защитника винды, но ты обманом отключаешь его и ставишь свою мокропиську с зондами? Это ведь самый настоящий троян, как бы ты жопой не вилял.
432 2418383
>>18370
Пруфы, что хуже?
433 2418402
Как же хочется легаси в 23 плюсах убрать...
434 2418404
>>18359

>драйвера удали - их сетапы то же самое делают


Нет. Драйверы это полезные программы, в них нет вредоносных функций.

>Конечно мы удаляем другие ав


Еще удаляете другие вирусы и файлы пользователя.
Еще пиздите https трафик.
Еще майните.
Еще замедляете и нагружаете систему приводя к скорому выходу оборудования из строя и ухудшая работу буквально всех программ, включая операционную систему, и не просто по производительности и потреблению памяти, но и внося множество сбоев.
Еще отправляете мегатонны собранной информации неизвестно кому и зачем.
В общем, нет хуже зловреда чем антивирус. Классический троян слетевший с катужек от вседозволенности, ведь их не судят и не садят. Куда хуже неофициальных троянов которые куда менее вредоносны и которым приходится скрываться.
435 2418408
>>18402
Не пользуйся.
436 2418517
import std:
int main()
{
Std::cout<< "Hello, World!\n";
}
437 2418523
438 2418546
>>18523
Привет! Где именно?
439 2418561
Пэкэджи в сладость, корутины в радость, уважаемые!
image18 Кб, 558x164
440 2418633
Какие подводные могут быть в downcast с помощью reinterpret_cast?

У меня есть две ситуации:

- первая я точно знаю что в поинтере лежит производный класс

- во втором, я хочу сделать что то похожее на reinterpret_cast<TagEntity<Type1>⚹>(ptr), где ptr = TagEntity<Type2>⚹. Они же должны иметь полностью идентичны, кроме их константы
441 2418634
>>18633
к слову тесты мои вроде как эти штуки проходят, но не уверен что на всех машинах будет корректно работать
442 2418835
>>18633

>Какие подводные могут быть в downcast с помощью reinterpret_cast?


По ебалу от лида получишь, как вариант.
443 2418836
>>18835
Авторитет лида должен быть чем-то обоснован. Иначе бы все стали активно юзать реинтерпрет_каст сразу после того, как сами получили бы право голоса.
444 2418841
>>18633
Вам сюда >>2297526 (OP)
445 2418842
>>18841

> >>2297526 (OP) (OP)


Мёртвый трел мёртвого языка. О сишке либо хорошо, либо ничего.
446 2419006
Анон, подскажи, пожалуйста, идеи для пет-проектов
447 2419013
>>19006
на С++ разумеется
448 2419027
>>19006
Подумай над тем как сделать результат майнинга полезным и не ломающим текущую систему. Если получится, то станешь миллионером.
449 2419030
>>19027
Он просил идею для пета, а не стартапа.
450 2419035
>>19027
лол, у меня есть такая идея, но мне бы сначала хоть джуном стать
p.s. но там обратной совместимости нет
451 2419038
>>19030
А откуда нам знать в какой предметной области он хочет проект написать? Никаких вводных о себе не написал, может быть ему любительская астрономия нравится, тогда можно написать программу для обработки астрофотографий, либо ему нравится системная разработка и тогда можно заняться ядром/загрузчиком/планировщиком, либо вообще может по сетям угорать и написать распределенную сеть для вычислений.
452 2419041
>>19006
САПР с удобной системой плагинов.
453 2419044
>>19038
всё предложенное тобой не тянет для новичка, скорее для сеньора/тим-лида, или я не прав?
>>19041
это точно пет для джуна?
454 2419045
>>19038
нужен пет именно для джуна, чтоб в худшем случае посидеть недельку-другую и полчуть что-то готовое (возможно подтянуть некоторые навыки, возможно закрыть пару белых пятен, но не изучая целую предметную область на которую нужно пол-года минимум)
455 2419053
>>19044

>это точно пет для джуна?


В нем ничего сложного, просто требует много времени для одного разработчика.
456 2419054
>>19044
>>19045
Ну так бы и сказали, что нужен проект для джуна. Попробуй просмотрщик и мини редактор для bmp-изображения написать на основе opengl/sdl/sfml. Это весело(можно быстро и наглядно увидеть результат своей работы, а не какие-то непонятные цифры) и полезно(учишься работать с информацией, декомпозировать проблему и проектировать архитектуру приложения). Начти с простого, а именно с ознакомления с форматом bmp, его считывания и вывода на экран. Потом погугли базовые операции с растровой графикой и реализуй эти алгоритмы(увеличение/уменьшение яркости, превращение изображения в ЧБ, изменение контрастности и т.д) . Главное писать все самому, а не использовать готовые решения и библиотеки, иначе какой в этом смысл, верно?
457 2419060
>>19053
Нет, это сложно даже для синьора.
Если взять какое-нибудь опенсорсное геометрическое ядро, то может за длительный период времени что-то и получится написать, но без геометрического ядра будет тяжко.
458 2419061
>>19054
спасибо, хорошая идея думаю мне это по силам с помощью гугла, можно ещё идейку-другую, буду крайне признателен!

и ещё вопрос: сети я не трогал (ни в каком виде, не знаю с какой стороны подступиться на текущий момент), это большой минус в том что пет-проекты будут desctop only?

p.s. не джунам нужны пет-проекты? я думал у них есть опыт работы и стек технологий, которые они могут подтвердить на собеседовании и всё
459 2419069
>>17729
Все современные веб фреймворки для жабы (javalin, кваркус, микронавт, ktor для котлина) так или иначе можно использовать и в MVC приложениях.
MVC это просто подход к разделению слоев функционала приложения на модель, представление и контроллер. Еще частенько сервисный слой добавляют для всякой бизнес-логики.

>>17687

>В джавах и прочих говнах уже давно на функциональщину пересели



В Го из функциональщины максимум могу вспомнить то, то функцию можно передавать как аргумент в другую функцию. Почти то же самое, что и указатели на функции в ANSI C89. А так Go даже до жабы очень далеко в плане функциональщины. А в самой жабе функциональщина только на уровне лямбд и стримов используется.
Вообще до сих все пишут в ООП (или структурном, в случае Го) стиле, а функциональщину используют как синтаксический сахар.

>>17667
Есть какие-то альтернативы MVC?
460 2419072
>>19061

>можно ещё идейку-другую, буду крайне признателен!


>и ещё вопрос: сети я не трогал (ни в каком виде, не знаю с какой стороны подступиться на текущий момент)


Ну могу тебе предложить простой проект связанный с сетью, а именно доработку твоего приложения до клиент-серверной архитектуры. Т.е. ты должен будешь предоставить пользователю тонкий клиент для общения с сервером, а все вычисления перенести на сервер. Юзеркейс, примерно, такой: пользователь загружает свой файл на сервер и выбирает операцию, сервер обрабатывает файл и отсылает результат пользователю, пользователь видит предпросмотр и если его устраивает результат, то скачивает файл, иначе выбирает нужную операцию снова. Тонкий клиент можешь реализовать как хочешь, веб-морда, ГУИ, консольная строка, а можешь и вовсе все сразу сделать, реализовав универсальный интерфейс.

> это большой минус в том что пет-проекты будут desctop only?


От вакансии и деятельности компании зависит. Например, не думаю, что эмбеддерам будет интересно на твой десктоп-софт смотреть. Хотя для джуна, может быть, и нормально.

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


Да и джунам они не всегда нужны, но опять же от работодателя зависит. Да и лучше иметь проекты на гитхабе, чем не иметь, лишним точно не будет.
Важно еще понимать, что пет-проект - это личная инициатива разработчика, а не средство получения вакансии или звездочек на гитхабе. Если у тебя нет желания что-то писать для себя после работы, то не пиши, не нужно мучать себя.
461 2419076
>>19072

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


Алсо, это я про проект с bmp говорил.
462 2419078
>>15265
Ковыряться в каких-нибудь легких старых игрульках при помощи IDA/Radare/Ghidra, всякие crackme итд. Но смысла сейчас в этом нет особого, золотые времена реверсеров ушли в прошлое, лучше потрать время на что-нибудь более полезное и современное.
463 2419080
>>19072
Еще можно сделать такую интересную и перспективную архитектуру: клиент посылает серверу командочки вида "нарисуй прямоугольник вот тут", а сервер это рисует у себя на экране. Обратно приходят движения мышкой и нажатия кнопок. Вроже этого нигде не было. Я еще не придумал как быть с тем, чтобы увидеть картинку на клиенте. Но и так может где-то пригодится. Скажем, будет редактор фотошоп работать на мощном сервере с экраном, а команды туда посылаешь с телефона.
464 2419084
>>19078

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


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

на данный момент я сильно ограничен теми знаниями что подчерпнул из учебников и "открытых" курсов, к сожалению в них нет "указателя" на "следующий элемент" обучения - они просто заканчиваются и всё(
466 2419088
>>19069

> Вообще до сих все пишут в ООП


Только в языках где других вариантов нет - жаба, шарп, пхп, частично в крестах. В мобилках появилась возможность и уже ООП остаётся только как легаси-отросток. В скале и кложуре ООП только для совместимости с жабой. Раст изначально не заточен был под него и никому оно не надо иметь полноценный ООП. В крестах регулярно можно увидеть как в свежих проектах изворачиваются и пишут код без классов - нэймспейсы, лямбды, процедуры и простые структуры. Чтоб была совместимость с не-ООП языками. В бэкенде веба может и актуален ещё ООП, но в остальных местах уже при любой возможности пытаются от него избавиться.
467 2419093
>>19088
На скале и кложе сейчас мало кто пишет, скала вообще скорее мертва чем жива.
В котлине ООП используют, в том числе и в мобилках. Раст тоже не шыбко взлетел, на нем массово никто не пишет ничего кроме криптоскама.
Вот Го взлетел, да, правда там вместо ООП не функциональщина, а обычные структуры и циклы. Никакой функциональщины в Го нет по факту.
468 2419098
>>19084
Реверс бинарей (как раз ковыряение в IDA/Ghidra/Radare) умер, так как бинари уходят в прошлое, как и сами десктоп-приложения собственно.
469 2419102
>>19098
разве? ботоводство в онлайн-игрульках цветёт и не воняет, байтоёба этот рынок и напоит и накормит и отсосёт если хорошо попросить
470 2419124
>>19080

>Еще можно сделать такую интересную и перспективную архитектуру...


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

>>19085

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


А вот это и есть ловушка вкатунов в ИТ. Вы изучаете инструмент, а что с ним делать дальше не знаете, вас этому просто не научили. Поэтому важно понимать, что такое ЯП и зачем они нужны. В первую очередь, ЯП - это инструмент человека для управления ЭВМ, все. С помощью этого инструмента будут решаться проблемы предметной области, которой ты занимаешься, поэтому куда более важно знать нюансы конкретной области, чем знать язык. При этом для каждой области методы решения проблем и сами проблемы будут разными. Допустим, что ты изучаешь астрофизику и тебя заинтересовал вопрос эволюции галактик. Для начала ты пишешь ТЗ, т.е. описываешь ЧТО должно поступить в черный ящик и ЧТО должно ВЫЙТИ из черного ящика, после формализуешь задачу, т.е. описываешь задачу языком математики, моделями и прочим говном, потом уже удет реализация, т.е. процесс написания кода. В итоге для решения задачи мне нужно знать: что я хочу получить в итоге, какими способами я буду решать эту проблему(численные методы, алгоритмы, математический аппарат и т.д.) и знание ЯП. У тебя есть только третий пункт. Поэтому вкатывайся в интересную тебе область, изучай местные проблемы и методы их решения.
Алсо, 90% программиста - это работа на бумаге. Некоторые сеньеры-помидоры, настолько становятся далеки от этапа реализации, что забывают как писать код, так как его работа заключается в проектировании системы "на бумаге", а реализация ложится на плечи голодных студентов. Кодер - пишет код по ТЗ, программист - находит решение проблемы, проектирует систему и реализует ее(опционально).
470 2419124
>>19080

>Еще можно сделать такую интересную и перспективную архитектуру...


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

>>19085

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


А вот это и есть ловушка вкатунов в ИТ. Вы изучаете инструмент, а что с ним делать дальше не знаете, вас этому просто не научили. Поэтому важно понимать, что такое ЯП и зачем они нужны. В первую очередь, ЯП - это инструмент человека для управления ЭВМ, все. С помощью этого инструмента будут решаться проблемы предметной области, которой ты занимаешься, поэтому куда более важно знать нюансы конкретной области, чем знать язык. При этом для каждой области методы решения проблем и сами проблемы будут разными. Допустим, что ты изучаешь астрофизику и тебя заинтересовал вопрос эволюции галактик. Для начала ты пишешь ТЗ, т.е. описываешь ЧТО должно поступить в черный ящик и ЧТО должно ВЫЙТИ из черного ящика, после формализуешь задачу, т.е. описываешь задачу языком математики, моделями и прочим говном, потом уже удет реализация, т.е. процесс написания кода. В итоге для решения задачи мне нужно знать: что я хочу получить в итоге, какими способами я буду решать эту проблему(численные методы, алгоритмы, математический аппарат и т.д.) и знание ЯП. У тебя есть только третий пункт. Поэтому вкатывайся в интересную тебе область, изучай местные проблемы и методы их решения.
Алсо, 90% программиста - это работа на бумаге. Некоторые сеньеры-помидоры, настолько становятся далеки от этапа реализации, что забывают как писать код, так как его работа заключается в проектировании системы "на бумаге", а реализация ложится на плечи голодных студентов. Кодер - пишет код по ТЗ, программист - находит решение проблемы, проектирует систему и реализует ее(опционально).
471 2419140
>>19124
то что ты написал для меня из разряда выступлений коуч-тренеров, которые сами нихуя не знают, но могут научить чему угодно извини, если обидел

посоветуй лучше инструментов (библиотек с нормальной документацией или ещё чего(?) и как их (с какой стороны) изучать), а что с ними делать я уж как-нибудь разберусь
472 2419150
>>19140
на текущий момент могу реализовать какую-нибудь простенькую работу через консоль (хоть базу данных со своими инструкциями (за SQL / MSQL не брался, команды будут не стандартизированные)), всё что в ходит в стандартную программу обучения C++ я знаю, ввод/вывод с консоли, простенькая работа с файлами, STL, algorithm'ы STL

могу к какому-нибудь простенькому функционалу прилепить простенький интерфейс (путём гугления)

и меня совершенно не интересуют коуч-фразы типа:
"ты сначала определись с областью" потом "сделай что-нибудь" и "у тебя всё получится"

меня больше интересует информация вида:
1. прочитай вот это: "obj_Name"
2. попрактикуйся с "obj_Name"
3/ по итогу у тебя получится "Result"
473 2419152
>>19150
и исходя из "Result" я пойму хочу я этого или нет
474 2419157
>>19093

> скала вообще скорее мертва чем жива


Откуда такие манявыводы? По популярности и количеству вакансий скала выше пхп, где-то на уровне раста.

> В котлине ООП используют, в том числе и в мобилках.


Compose - это функциональный фреймворк и там нормальной поддержки ООП в принципе нет. А это так-то актуальный нативный фреймворк для ведра, на котором уже почти весь софт написан в 13 ведре.

> Раст тоже не шыбко взлетел


Второй по популярности системный язык, после С/С++. У линукса есть поддержка модулей ядра на расте, у майков официальные биндинги системного апи есть только на раст и они сами говорят что некоторые части системы на нём пишут.

> Го


В нём вообще нихуя нет. Просто медленная сишка с сахаром. Нахуй ты его вообще на один уровень с полноценными языками ставишь?
475 2419178
Корутины ща юзабельны? Что-то я все вкусняхи 20го стандарта распробовал уже, но их упорно доджу.
476 2419187
>>19140

>то что ты написал для меня из разряда выступлений коуч-тренеров,


>и меня совершенно не интересуют коуч-фразы типа:


"ты сначала определись с областью" потом "сделай что-нибудь" и "у тебя всё получится"
Так, блядь, а как я тебе могу посоветовать что-то, если не знаю чем ты заниматься хочешь? Я тебе описал пусть разраба сверху-вниз, т.е. от твоих желаний и интересов, а ты хочешь начать снизу-вверх и сначала выучить не понятно что. Больше конкретики давай, пожалуйста.
477 2419192
>>19178

> Корутины ща юзабельны?


Вполне, но нахуя? Нормальная многопоточность в любом случае быстрее, а удобство корутин сомнительно. Вон в расте тоже завезли асинхронность и что, кто-то пользуется ей, кроме вебмакак?
478 2419201
>>19187
опиши чем занимаешься, как к этому пришёл, какими инструментами овладел? если напишешь материалы какие для этого потребовались - ещё лучше

я(любой) могу тебе расписать как стать президентом РФ, в абстрактной теории, разумеется
479 2419213
>>19178
Я бустовские юзал ещё на 14 м стандарте
изображение.png509 Кб, 621x480
480 2419330
Как вы выбираете инструменты?
Все подходит, и std::filesystem, и WinAPI, и Qt и наконец питон с библиотекой os.
481 2419335
>>19330
Есть из коробки > нет из коробки, но кроссплатформенное > некроссплатформенное.
482 2419351
Стоит ли везде юзать size_t вместо uint`a?
483 2419355
>>19351
Нет.
484 2419365
>>19192
Как будто асинхронность где то кроме веба нужна

да и как она может быть медленнее многопотока
485 2419371
>>19365
Чё там по гуи какому-нибудь?
486 2419373
>>19365

> да и как она может быть медленнее многопотока


Потому что у корутин куча кода под капотом, ещё и аллокации самой корутины. Ничего этого нет у многопотока, там только можешь на синхронизации выстрелить себе в ногу, но так и с корутинами тебе надо делать её, если ты не в одном потоке сидишь. А если нужны параллельные вычисления, то есть библиотеки под них, которые сильно быстрее чем куча корутин. Корутины ещё можно было бы использовать в эмбеддед системах, где нет нормальной многопоточности, но на полноценных процах корутины всегда будут медленнее правильного многопотока.
487 2419376
Есть ли что-нибудь пизже крестов?
488 2419381
>>19376
Шарп лучше, чем C++.
489 2419382
>>19335
Т.е. кривые мокрописьки > нативное решение? А потом наблюдаем как лепят десять кроссплатформенных либ с одинаковым функционалом, потому что каждая прошлая была калом. Не лучше ли сделать три под конкретные системы, но сразу нормальные?
490 2419383
>>19381
Чем?
491 2419386
>>19382
Я лучше одну сделаю на QT
492 2419405
>>19383
Чем C++.
493 2419409
>>19405
Аргументы какие?
494 2419411
>>15265

> как вкатываться в реверсинг?


Для начала, почитать и понять
https://www.blackhat.com/presentations/bh-dc-07/Sabanal_Yason/Paper/bh-dc-07-Sabanal_Yason-WP.pdf
495 2419412
>>19411
Зачем реверсинг в 2022?
496 2419413
>>19371
Ну и он тоже, забыл что то об этом

>>19373
А если много много ио операций? Многопоток всё ещё быстрее будет?
497 2419425
Вы тут ебанулись что-ли? Корутины это не замена и не конкурент мультипотоку. Это способ организации специфического контрол флоу, когда ты определяешь время переключения потока исполнения, а не ос. Редко нужно, но иногда очень удобно.
498 2419434
>>19413

> А если много много ио операций?


Ещё с доисторических времён есть асинхронное IO в системах. В том же винапи как сеть, так и фс, могут работать без блокирования потока. Так что вообще похуй, одного синхронного потока хватает всегда.
499 2419471
Слышали че-нить про Android NDK? Я подумал, если понадобиться написать приложение на андротд, нах мне еще учить жабу и котлин, запилю просто на плюсах. В чем подводные?
500 2419497
501 2419513
>>19471

> В чем подводные?


В том что это такое говно, что ты после него будешь с радостью вспоминать какой же крутой winapi. А ещё документации хуй, будешь читать исходники, а там миллионы строк легасиговна.
502 2419516
>>19497
Но зачем ботоводу реверсить что-то? Ему надо питон с торчем учить.
503 2419519
>>19516
торч не жирно ли будет для игрулек? хороший байтоёб либо модифицирует клинент (вырезая из него всё что не нужно - графений и т.п. + самописный чит для ухода от анти-чит системы) либо вообще пишет свой такого правда в проектах сложнее карточных игорь не представляю
504 2419536
>>17785
И как, что-то интересное уже намоделировал, или всё пердишь в трубу?
505 2419538
>>19519

>в проектах сложнее карточных игорь не представляю


В пое, говорят, когда-то был альтернативный клиент, пока за него банить не начали..
image.png52 Кб, 1083x426
506 2419553
Гуру синтаксиса, подскажите как это написать без лямбд? Я пытался (то что закомментировано), но это не работает
Нагуглил какие то стд бинды, в общем попроще можно как то чтоли?
507 2419558
>>19538
не слышал даже о таком, видел разных ботов, один даже запускал и настраивал но потом всё накрылось - разработчик ушёл в тот момент как компанию купил китай
508 2419596
>>19553
Тред на гдобалах глаза режет/
509 2419607
>>17218
Роутинговые движки (навигаторы там). Иногда немного около автомотива и чуть чуть мл для eta.
До этого чутка поисковыми движками занимался, медициной всякой на английских алкашей господ.
Забавно, что раьотая постоянно с разными типа сложными алгоритмами вообще слабо в них шарю. Лит код вообще на сайт пыток похож. Хотя там вскоре головоломки математические интересно решать.
510 2419608
>>19513
И что, в итоге в следующий раз ты на жаве напишешь?
511 2419627
>>19471

>Слышали че-нить про Android NDK?


Слышал, что это оберка над оберткой над еще одной оберткой.
512 2419639
>>19627
Ты сейчас 90% современного ПО.
513 2419704
>>19553
Ну да, std::bind
Еще, если не ошибаюсь, может подойти std::mem_fn, но std::bind универсальнее, тк позволяет биндить не только this, но и аргументы.
514 2419721
>>19596
Бле это не глобалы, сорян за кривую фотку, чет я протупил. Это класс my_socket, вишь там во втором комменте, да и переменные обьявлены позже функций

>>19704
Хмм, а чому так? Вроде же можно написать типо так
thread = std::thread(&my_class::my_function, this)
и все будет работать. А почему нельзя
thread = std::thread(&my_class::my_function, &my_class_var)
?
Screenshot from 2022-07-30 13-46-38.png152 Кб, 858x676
515 2419744
>>19721
По-идее тоже должно быть можно.
Смотри чтобы на this не получился двойной указатель разве-что.
516 2419769
>>19744
Ну да можно, но только не в случае asio
И зачем было так жизнь людям усложнять, бинды какие то ахуеть
517 2419775
gcc или clang и почему?
518 2419810
>>19775

>gcc или clang и почему?


Это не школьный тест.
519 2419817
>>19810
Ты на поставленный вопрос отвечай. Когда мне будет нужен генератор случайных фраз - я буду знать к кому обратиться.
520 2419821
>>19817

>Ты на поставленный вопрос отвечай.


Какой?

>я буду знать к кому обратиться.


К кому?
521 2419868
>>19769
Так в смысле
Если у тебя функция как аргамент принимает референс на функтор, то есть любую хуйню с оператором ()
То когда у тебя указывается как аргумент, pointer to member function
То надо просто забиндить нулевой аргумент (this)
Ссылка на объект это просто неявный нулевой аргумент
522 2419900
>>19868
Ну вот так, это просто не собирается
Вот так к примеру все ок
std::thread(static_cast<size_t (asio::io_context::⚹)()>(&asio::io_service::run), &context);
А вот так не работает
std::thread(&asio::io_service::run, &context)
Я не понимаю почему, вот в чем вопрос, к чему здесь биндить че то, хз, не очевидно
523 2419953
>>19900
Надо полагать, что run перегружен (или шаблон) и поэтому ты не можешь получить адрес без каста
524 2420159
Qt widget или qml? Есть вообще заметная глазу разница в скорости? Хочу написать что-то вроде галереи, то есть буду обрабатывать тысячи картинок.
525 2420165
>>20159
Э ну в скорости чего? Фронта? Разницы глазу ты не заметишь точно, единственное что qml довольно нагруженный и большие аппы на нем писать не профитно, как и слишком маленькие ибо ресурсы хавает не соизмеримые. Но для твоей задачи вполне подойдет
image.png5 Кб, 429x53
526 2420241
Ебать, чому так жирно? Нативная же хуйня.
527 2420493
Аноны вкатуны в плюсы бывают или это исключительно ниша куда заходят только студентами, и васянов 30+ вкатывающихся в плюсы нет в природе.
528 2420587
>>20241
Я так понимаю, что понятию отношения в школе уже не учат.
529 2420691
Хотелось бы язык с подробной и правильной семантикой, а не набор значков из 70-х, когда экономили каждый байт текста кода программы. К примеру знак "=" убрать, который все карты путает.

int x init 5;
int c copy x;
Obj o init Obj();
Obj m copy o;
Obj n move o;
530 2420732
>>20587
Ооох ебать, сразу повеяло душком старой суки злой на весь мир которая с короной на голове а-ля "Я самая чёткая, самая умная" пришла "преподавать" в школу или универ.
531 2420831
Итак, что я узнал сегодня. У переменных, указателей, ссылок суть одна - это ссылки на некие сущности (например на область оперативной памяти). Переменные в c/c++ это ссылки-владельцы, то есть время жизни сущности привязано к времени жизни владельца, а операция копирования не отнимает владение сущностью, а смотрит на нее и пытается воссоздать по образу и подобию. Сырые указатели могут вызывать недоумение у новичков, потому что по сути совмещают в себе два предназначения. Во-первых, это хранилища адреса. То есть владельцы сущностей определенного типа - адресного типа. Поэтому такое многообразие указателей, от обычных до указателей на функции. Во-вторых, указатели с использованием разыменования могут вести себя как простые (не владельцы) ссылки на сущности (не на те, которыми они владеют, а на те, на которые указывают). Можно заметить, что в ЯП со сборщиком мусора так называемые ссылочные типы являются по сути тем же. То есть время жизни сущности, на которую они указывают не привязано ко времени жизни указателя, а сам указатель может свободно менять сущность. Операция копирования не приводит к тому, что сущность, на которую указатель указывает копируется, скопированный указатель указывает на ту же самую сущность, что и оригинал. Однако сущность, которой владеет указатель (значение адреса) конечно же копируется. r-value ссылки я протестировал и пришел к выводу, что они ничем не отличаются от простых переменных (кроме типа), так же владеют сущностью, также могут потерять владение, то бишь быть перемещены. И даже std::move к ним надо обязательно применять для перемещения. Посмотрел немного семантику Rust и как я понял, там вся эта семантика с владением и перемещением аккуратно спрятана под капот. С одной стороны красиво конечно, с другой я люблю сам все настраивать и вызывать UB. l-value ссылки ведут себя как константные указатели (да ладно.джпег) и по сути были введены, как мне кажется, только для удобства и большей читабельности. const ссылки на r-value также ничем не отчитаются от константных переменных, их также можно мувнуть, используя mutable в полях класса, на что MVS мне указывала и просила так не делать больше. Также она мне подсказала в моем мув-конструкторе написать noexcept, потому этот конструктор не выбросит никогда исключений. Я так понял этот noexcept писать желательно всегда в move-методах, чтобы все четко было, например в работе с векторами.
Одно из предназначений типов и типизации вообще - запрещать недопустимые операции и выдавать CE. С сырыми байтами можно творить что хочешь, а потом часами сидеть отлаживать. Например, я создал указатель на функцию, преобразовал его сишным способом и присвоил указателю на int. Результат разыменования непредсказуем, видимо я получаю интовое представление байтов кода функции. Еще одно предназначение типов - перегрузка функций. Я думаю только для move-конструкторов и move-присваивания и был придумал тип T&&.
531 2420831
Итак, что я узнал сегодня. У переменных, указателей, ссылок суть одна - это ссылки на некие сущности (например на область оперативной памяти). Переменные в c/c++ это ссылки-владельцы, то есть время жизни сущности привязано к времени жизни владельца, а операция копирования не отнимает владение сущностью, а смотрит на нее и пытается воссоздать по образу и подобию. Сырые указатели могут вызывать недоумение у новичков, потому что по сути совмещают в себе два предназначения. Во-первых, это хранилища адреса. То есть владельцы сущностей определенного типа - адресного типа. Поэтому такое многообразие указателей, от обычных до указателей на функции. Во-вторых, указатели с использованием разыменования могут вести себя как простые (не владельцы) ссылки на сущности (не на те, которыми они владеют, а на те, на которые указывают). Можно заметить, что в ЯП со сборщиком мусора так называемые ссылочные типы являются по сути тем же. То есть время жизни сущности, на которую они указывают не привязано ко времени жизни указателя, а сам указатель может свободно менять сущность. Операция копирования не приводит к тому, что сущность, на которую указатель указывает копируется, скопированный указатель указывает на ту же самую сущность, что и оригинал. Однако сущность, которой владеет указатель (значение адреса) конечно же копируется. r-value ссылки я протестировал и пришел к выводу, что они ничем не отличаются от простых переменных (кроме типа), так же владеют сущностью, также могут потерять владение, то бишь быть перемещены. И даже std::move к ним надо обязательно применять для перемещения. Посмотрел немного семантику Rust и как я понял, там вся эта семантика с владением и перемещением аккуратно спрятана под капот. С одной стороны красиво конечно, с другой я люблю сам все настраивать и вызывать UB. l-value ссылки ведут себя как константные указатели (да ладно.джпег) и по сути были введены, как мне кажется, только для удобства и большей читабельности. const ссылки на r-value также ничем не отчитаются от константных переменных, их также можно мувнуть, используя mutable в полях класса, на что MVS мне указывала и просила так не делать больше. Также она мне подсказала в моем мув-конструкторе написать noexcept, потому этот конструктор не выбросит никогда исключений. Я так понял этот noexcept писать желательно всегда в move-методах, чтобы все четко было, например в работе с векторами.
Одно из предназначений типов и типизации вообще - запрещать недопустимые операции и выдавать CE. С сырыми байтами можно творить что хочешь, а потом часами сидеть отлаживать. Например, я создал указатель на функцию, преобразовал его сишным способом и присвоил указателю на int. Результат разыменования непредсказуем, видимо я получаю интовое представление байтов кода функции. Еще одно предназначение типов - перегрузка функций. Я думаю только для move-конструкторов и move-присваивания и был придумал тип T&&.
532 2420833
>>20691
Сделай сам тыж погромист.

зачем запостил код на коболе?
533 2420862
qt можно установить теперь только через впн? других вариков нет?
534 2420886
>>20862
Соьрать из исходников или взять из репы дистрибутива лялеха.
535 2420899
>>20833
На бейсике же
536 2420904
>>20899
Неважно. Пчел ноет на набор значков из 70х и в том же посте постит набор значков из 70х.
Ну, когда казалось что еще пару лет и можно будет программировать компуктеры на естественном языке.
537 2421125
>>20831
сразу предупреждаю - обидеть не хочу

нахуя так сложно? ну есть указатель и есть, ссылка тот же указатель, только работать с ней чуть попроще, но нет того функционала что у указателя, и то и то хранит в себе адрес какого-то байта, тип указателя/ссылки "говорит" компилятору сколько байт всего
откуда у тебя этот материал? неужто нельзя было проще выражаться? я прочитал половину у меня мозг отреагировал как при чтении шизифренических постов
538 2421136
>>21125

> нахуя так сложно?


Формализую свои знания. На собесе отвечать буду также. Не нравится - нахуй.

> и то и то хранит в себе адрес какого-то байта,


Это стандартом определено? Если не ошибаюсь, стандарт не описывает как именно реализуются референсы.

> неужто нельзя было проще выражаться?


Ты вот такой простой, можешь ответить например на вопрос, почему в Яп со сборщиком мусора собственно сборщик мусора, а не аналог шаред и вик поинтеров с подсчетом ссылок?
539 2421165
>>21136

>почему в Яп со сборщиком мусора собственно сборщик мусора, а не аналог шаред и вик поинтеров с подсчетом ссылок?


я твой вопрос не могу понять

>почему в ЯП (это сокращение от языка программирования, хоть тут я надеюсь твоё и моё представления совпали?)


>сборщик мусора?



почему в языке программирования со сборщиком мусора сборщик мусора - в чём вопрос?
почему в яп автоматическое освобождение ресурсов? (не зачем, а именно почему?)

купил мужик шляпу, а она ему как раз
540 2421196
References was a mistake
541 2421243
>>21165
Если вижу шляпу - не могу в нее не насрать.
542 2421253
>>21243
ты на говно уже исходишь, да?
543 2421257
Раздувается ли бинарник от шаблонных функций. Есть у меня функция в которой колбек на колбеке и колбеком погоняет. Это вообще реально сжать бинарник в этом случае, если по сути начинка разная у лямбд и функций которые я захватываю?
544 2421264
>>21257
Забудь об компактном бинаре, если пишешь на крестах. У тебя будет, в лучшем случае, компактный ИСХОДНИК.
545 2421266
>>21264
Ой блин, с чего бы вдруг он был большим? Назови язык где бинари меньше inb4 C, но это тупой пример
546 2421268
>>21264

> Забудь об компактном бинаре, если пишешь на крестах.


Достаточно не юзать шаблоны.
547 2421273
>>21266
Бездумное применение строк и иостримчиков, например.
Просто сравни ассемблер для
cout << "hello\n";
и
puts("hello");
1.png8 Кб, 409x202
548 2421276
Привет, Анон, я к вам с глупым вопросом - не получается подключить библиотеки в header-файле (там где main лежит всё работает), гуглить пробовал - не помогло.
549 2421278
>>21276
что нужно сделать и где я повернул не туда что не смог решить эту проблему сам?
550 2421279

>экономить место на жестком диске


>2022


Плиз, ну хватит. Производительность > читабельность > расход оперативной памяти > говно > моча > размер бинарника
551 2421280
>>21278
Жирно
552 2421281
>>21278
тред пишется thread
553 2421283
>>21273
Ух ебать, 2 строчки разница, пиздееец
554 2421287
>>21280
>>21281
вот я лох - и правда оба раза не правильно написал и внимания не обратил пора идти спать
555 2421289
>>21136

> поинтеров с подсчетом ссылок



Подсчет ссылок перестает работает когда возникают циклы из ссылок.
Представь себе двусвязный список на указателях например
556 2421292
>>21283
puts смотри в компиляторе С, естественно. Давай сравнивать идиоматичный способ вывода для С и С++.
Выкручиваемся в стиле "пфф я тоже могу puts", "могу без исключений", "могу без шаблонов", "хочешь - пиши без классов".
557 2421298
>>21292
Скажи мне какие компиляторы только для С ты знаешь в 2022
558 2421301
>>21279
Да блин, у меня на 350 строк кода бинарник 334 в release. Мб я в cmake что то не то настроил, но это пиздец.
559 2421302
>>21301
А скайрим сколько весит видел?
560 2421304
>>21302
Я просто сейчас со слезой вспоминаю контесты, где 500 строк дают бинарь в 20кб, а тут... Видимо все таки шаблоны не умеет хорошо сжиматься
561 2421305
>>21298
Чел. В gcc/clang язык исходника определяется по расширению.
562 2421306
>>21302
А сколько строк кода в скайриме видел?
563 2421310
>>21305
Я, честно, не знаю асм, но разве тут не одинаково +- строк в main. Все остальное типо инициализация, не? Поправь, пожалуйста.
564 2421316
>>21304
Ебать я долбаеб. Я забыл символы отладочные убрать. Я думал в релизе их нет
565 2421320
>>21316
Что за символы?
566 2421322
>>21316
140 теперь. Лучше, но такое..
567 2421331
>>21320
Отладочные.
568 2421343
>>21322
Ты чем там компилируешь? На винде для крестов размер хэллоуворлда около 15 кб, 100 кб - это раст с жирным рантаймом.
569 2421348
>>21343

> Ты чем там компилируешь?


Msvc, но допускаю, что мог флаги некоторые забыть. Хотя вроде release и release-debug-symbols поставил. До этого было 500+

> На винде для крестов размер хэллоуворлда около 15 кб, 100 кб - это раст с жирным рантаймом.


Так у меня не хэллоуворлд
570 2421351
>>21310
Да, там инициализация иострим. Но она таки занимает место.
Дальше, компилируем
cout << "hello";
......
cout << "hello";
и видим по три команды на каждую строку. А в сях получится по две команды.

А для map компилятор засунет весь код красно-черного дерева.
571 2421359
>>21351

> Да, там инициализация иострим. Но она таки занимает место.


> Дальше, компилируем


> cout << "hello";


> ......


> cout << "hello";


> и видим по три команды на каждую строку. А в сях получится по две команды.


И я теперь должен забыть про компактный исходник? Звучит не убедительно

> А для map компилятор засунет весь код красно-черного дерева.


И? В других языках не так что ли? Не понял что ты хотел сказать. Кстати надо будет мне потестить как для разных типов в мапе меняется размер. Но уже завтра
572 2421365
>>21359
Чуть уточню. Инициализация всего 1 раз за всю программу делается, так что +15 кб к любому бинарю звучит не страшно. А разница в 1 строчку в выводе меня улыбнула. Да, можно сказать, что это аж в 1.5 раза больше, но это только вывод, который, кажется, занимает незначительную часть исходника
573 2421505
>>21365
Это примеры на коленке, где и почему кресты больше. Если вплотную обмазаться шаблонами и строками, будет нагляднее.
>>21359

> И? В других языках не так что ли? Не понял что ты хотел сказать.


В сях большой код выглядит большим в исходнике. Или там МАКРОСЫ, которые своим видом как бы предупреждают. Поэтому у сишника меньше соблазна сделать хуяк-хуяк однострочник, из которого получится толстый код.
574 2421801
Какие настройки для clang format используете? Я заебался лесенки читать. Дайте самые нормальные настройки на ваш взгляд.
575 2421805
>>21801
Нормально делай - нормально будет.
576 2421835
>>21801
indent -pmt -nbfda -di0 -nfc1 -npcs -bl -ce -cdw -br -nbc -ncs -nbbo -bad -sob -il0 -ip8 -i8 -l120
577 2421854
https://www.boost.org/doc/libs/1_79_0/doc/html/boost_asio/reference/basic_stream_socket/async_write_some.html
Могу ли я писать в несколько потоков в один сокет? Все сломается или просто перемешается?
578 2421868
Если я вызову метод класса, а в методе класса вызову goto к метке, а метка расположена в другом методе класса, то программа перейдет к метке выполнет код после метки и все? Не вернется же к методу из которого вышла?
579 2421877
>>21868
Попробуй, блять.
580 2421880
>>21877
а че ты кричишь
изображение.png17 Кб, 843x57
581 2421903
Че за хуита? На винде нормально в вижуалке скомпилил, а тут эта дрянь. Буст устанавливал через sudo apt-get install libboost-all-dev
582 2421905
>>21903
типо версия буста не та, но оно не хочет обновляться, как я понял. Говно ебаное, ваш линукс
583 2421923
Все, я понял. ХУита а не линукс. Кококо, для разработчиков удобно.
584 2421932
>>21903
>>21905
>>21923
Смигрируй в твиттер, даун.
585 2421942
>>21932
Сколько часов сегодня с консолькой ебался?
586 2421943
587 2422379
>>21868

> Если я вызову метод класса, а в методе класса вызову goto к метке, а метка расположена в другом методе класса, то программа перейдет к метке выполнет код после метки и все? Не вернется же к методу из которого вышла?


Да оно тебя, просто нахуй пошлет и не скомпилит такое. Как ты себе блять это представляешь?
588 2422516
>>21868
>>22379
Да это троль. Нельзя же быть настолко тупым.
589 2422531
>>22516
Можно, я действительно проверил, нельзя в метку в другом методе переместиться. Эх, жаль, придется ебучие ретерны городить
590 2422536
>>22531
У тебя есть прекрасные эксепшены и не менее прекрасный longjmp.
591 2422538
Ебать, сколько лет прошло, прежде чем смогли стектрейс нормальный включить в стандарт
592 2422542
>>22536
не слышал про такое щас, буду гуглить
593 2422544
>>22538
Когда рефлексию завезут?
594 2422546
>>22544
я и так каждый день рефлексирую
595 2422695
Приветствую. Имею следующий вопрос:
вводные данные:
знаю базовые things на С++, такие как переменные и типы данных, Функции(включая лямбды), ООП(классы, функторы и предикаты), Шаблоны, Многопоточность, Ссылки и Указатели, контейнера STL ( и их адаптеры стек, очередь), могу в многофайловость
но не знаю границ перечня методов и типов std (если верить оглавлению книги Josuttis: The C++ Standard Library то зная вышеуказанное должен уже знать почти всё, но уверенности в этом нет)
Собственно вопрос(прошу принять во внимание мою глупость и то что я новичок.):
пора ли браться за Qt? и что это такое (где-то пишут что это просто библиотека - т.е. я могу просто включить её в свой проект в Visual Studio? где-то пишут что это набор инструментов и предлагают скачать с сайта Qt.io(если не ошибся) набор этих самых инструментов, что это вообще такое, если простыми словами для непосвящённого? и что мне с этим делать!?). Ознакомление с самой популярной учебной литературой по Qt дало следующее:
Шлее Qt 5.10 - не понимаю для кого пишет автор, мы явно с ним на разных волнах (появляется ощущение что автор либо пишет книгу для друзей законченных программистов либо к моменту написания получил сильную профессиональную деформацию и его сложно понять другим людям не находящимся на одном уровне с ним)
Саммерфилд Qt - аналогично
Земсков Qt 4 - начало хорошее, автор как минимум старается быть доходчивым
Бланшет и Саммерфилд Qt4 GUI - видно что авторы стараются опуститься до уровня начинающих и немного чуть-чуть им это удаётся
Ищу совета который помог бы новичку в дальнейшем развитии (куда-нибудь, с указанием цели и возможных результатов)
596 2422711
>>22695
Лол. Qt это наоборот самый лёгкий старт в крестах, лично я с него и начинал не зная вообще нихуя. Qt прячет кучу крестовой сложности, даёт охрененные плюшки, разжеванные книжки на русском, IDE имени себя и лучшую документацию из всех что я видел в оную IDE и встроенную.
597 2422714
>>22711
а как начать то? я посмотрел литературу - даходчивостью там и не пахнет лично для меня
объясни, пожалуйста, мне как если бы рассказывал пятилетке
598 2422725
>>22714
Чувак, в этой документации есть примеры, и дока на них ссылается, их можно собрать и потыкать. Читай бумажную (условно, в смысле и скан сойдёт) книжку (я точно не помню, вкатывался скорее всего через книжку саммерфельда по qt 4.5 а потом юзал доку) и смотри примеры. Пиши какие нибудь хелловорлды задействуя нужные тебе фичи, дергая их кусками из примеров и так далее. Вот так постепенно и въедешь.

Собсно Qt это локомотив крестов и лучший гуи-фреймворк эвар, 95% вакансий крестов будут требовать qt или boost (но буст это его противоположность, такая шаблонная поебень что ебнуться можно, новичку сходу я бы его не рекомендовал)
599 2422728
>>22725
можешь написать где взять документацию и примеры?
примеры из пути:
Qt_creator\Examples\Qt-6.3.1
или ещё где?
документацию где взять?
600 2422739
>>22728
Понятия не имею. У меня линукс и поставлено из репозиториев. Тебе надо качать из инсталлятор и тыкать там галочки на documentation и examples.
Скорее всего будет некоторая ебля - онлайн инсталлятор скорее всего тебя пошлет нахуй с рашкоайпишником, врубай впн или ищи оффлайновый, и во вторых эта хуйня потребует от тебя аккаунт разработчика, придется зарегать на фейкомыло.
У линуксобояр этот тулкит в системе родной и они его просто ставят из репозиториев и от этой хуйни избавлены.
601 2422755
>>22739

>врубай впн


>придется зарегать на фейкомыло



ещё вчера сделал
602 2422768
>>22755
Ну значит если ты поставил все галочки и запустил Qt Creator то и дока и примеры у тебя будут встроены в IDE и все должно работать из коробки.
603 2422770
>>22695
Qt это набор либ. Вообще а что тебе не понятно? Ты с такой уверенностью заявил что разобрался с ядром крестов но qt для тебя сложно? Что сложного? Из доки скопипастить трудно? Или тебя интересует как кишки и метакомпиль устроены?
604 2422775
>>22770

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


1. мне помогли (я просто перечислил то, чему меня учили)
2. что такое ядро крестов? что туда входит?

>Qt это набор либ


мне их как библиотеки в VS можно включать или мне нужно пользоваться Qt_creator? или и так и так сойдёт?
605 2422782
>>22775
Ну всё что ты перечислил. Это так сказать база

Да, ты можешь их подключить прямо к проекту в VS, это просто набор либ. Но Qt это довольно автономный от крестов мир со своими свистоперделками, поэтому я рекомендую не страдать херней, а юзать нативные инструменты которые тебе предлагают авторы, качай куты через впн либо собирай сам. Открывай креатор, создавай гуи апп по шаблону и по ф1 жми доку и кури что не понятно. Можешь для разогрева к примеру крестики нолики написать простые
606 2422783
>>22775
Лучше пользуйся креатором, если у тебя нет какой то конкретной необходимости использовать именно студию. Ну и просто как библиотеки его не подключишь, как минимум система сборки (хз чё там в студии) должна быть в курсе про moc, ту хуйню которая ресурсы компилит и прочие кутешные вызываемые утилиты.
607 2422785
>>22782
>>22783
спасибо
608 2422837
>>22775

>VS


Подозреваю она будет визжать от кютешного кода как порезанная шлюха, это же все таки надмножество крестов. Или там можно как-то извратиться с language сервером?
609 2422867
>>22837
Не должно оно визжать, в кишках кутешных инклудов кутешные ключевые слова дефайнятся во что то нейтральное на ifndef MOC или типа того. Короче голый компилятор это не соберёт, но и подсветка синтаксиса с ума сходить не должна.

Но один хрен студия говно а креатор имба - так зачем жевать кактус? Тем более креатор умеет в qml а студия и прочие clion'ы - вряд ли.
610 2422872
>>22867

>но и подсветка синтаксиса с ума сходить не должна.


public slots:
signals:
611 2422878
>>22837
Ебучий язык программирования Qt, вот бы из него выпилили MOC.
612 2422880
>>22878
Не раньше чем когда кресты нативно научатся в такие фичи из коробки
613 2422882
>>22880
Раз Qt компилится в нормальный C++, то этот препроцессор - тупо синтаксический сахар.
614 2422893
>>22882
Про рефлексию погугли
615 2422896
>>22893
Компайл-тайм рефлексия, да.
616 2422908
>>22882

> Раз Qt компилится в нормальный C++, то этот препроцессор - тупо синтаксический сахар.


Раз c++ компилится в нормальный асм/машинный код, то этот c++ - тупо синтаксический сахар
617 2422909
КАК ПРАВИЛЬНО?
std::bind(&std::atomic_bool::load, &atomic_var);
618 2422913
std::(std::1 std::+ std::2 std::)
619 2422914
>>22908
Нет, на ассемблере ты можешь делать то, чего принципиально на плюсах не сделаешь, только с ассемблерными вставками которые потом оптимизируются при компиляции, а они не являются частью стандарта C++. А на Qt можно писать без moc, но из-за хуёвого API много ебли.
620 2422953
>>22725
Как в кути oauth сделать с редиректом?
.png268 Кб, 512x512
621 2422996
ЭКСЕПШЕНЫ НЕЛЬЗЯ
@
СТРОКИ НЕЛЬЗЯ
@
STL И ШАБЛОНЫ НЕЛЬЗЯ
@
ПРЕПРОЦЕССОР НЕЛЬЗЯ
@
БУСТ НЕЛЬЗЯ
@
ВЕЛОСИПЕДЫ И БОЙЛЕРПЛЕЙТ МОЖНО
622 2423012
>>22914

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


Неа.

> а они не являются частью стандарта C++


Похуй на стандарт, в любом компиляторе они есть

> А на Qt можно писать без moc


Нет, нельзя. Как только ты унаследуешься от куобжекта и напишешь Q_OBJECT - ты идёшь нахуй

> но из-за хуёвого API много ебли.


У куте охуеннейший апи
623 2423183
>>22996

> ЭКСЕПШЕНЫ НЕЛЬЗЯ


> @


> СТРОКИ НЕЛЬЗЯ


> @


> STL И ШАБЛОНЫ НЕЛЬЗЯ


> @


> ПРЕПРОЦЕССОР НЕЛЬЗЯ


> @


> БУСТ НЕЛЬЗЯ


> @


> ВЕЛОСИПЕДЫ И БОЙЛЕРПЛЕЙТ МОЖНО


Эмбеддед/микроконтроллеры?
624 2423292
Мартышки, подскажите, формат увлекательных уроков, типа этого, нормальный?
https://ravesli.com/uroki-cpp/
625 2423406
о, кстати, опущенец, постом выше упоминул ravesli.com он доступен в каком либо виде? через tor или vpn не получается получить доступ, отдельные страницы вытягиваю через кэш гугла, может ты, Анон, можешь что подсказать?
626 2423416
>>23406
Чел ну открой анонимайзер и через него сайт свой обосранный
627 2423518
>>23406
Тоже кстати даже через тор открыть не могу. Хотя уроки у него действительно хорошие, понятно объясняет на базовом уровне и потом уже можно уверенно углубляться в референсы.
628 2423521
>>23518
Судя по его группе в ВК он ебанулся на фоне СВО. Что-то заметил, что именно хохлокрестовики поголовно ебанулись.
Снимок экрана 2022-08-03 в 16.00.24.png579 Кб, 3024x1722
629 2423581
>>23406
Тебе инструкцию написать как заходить на сайты?
630 2423760
Ало макаки, я ни на что не намекаю но — >>22909
631 2423767
>>23760

> Ало макаки, я ни на что не намекаю


Хорошо.
632 2423770
Я не люблю лямбды.
633 2423789
>>23770
Это просто синтаксический сахар вокруг функциональных объектов.
Бустовские, кстати, когда маленькие, выглядели гораздо элегантнее.
Сравни
[](int i){ return i/2;}
и
arg1/2
но естественно не оптимизируются компилятором и дольше компилирпвались..
634 2423875
>>23518
таки через анонимное окно firefox'са удалось + vpn
635 2424086
>>23770
Ты абсолютно не прав.
636 2424247
Доброе утро. Подскажите пожалуйста. Вот у меня есть текстовый файл, в который записана строка:
0000040A04000500=Библиотека TCP/IP.
Мне нужно, чтобы при передачи в функцию такого значения, на экран выводилась строка Библиотека TCP/IP.
Не понимаю как работать с содержимым файла, и как извлечь этот идентификатор оттуда. Заранее спасибо
637 2424258
>>24247
пробегись [] по строке, найди символ '=', всё что после него выводи
638 2424270
>>24258
А если у меня идёт несколько таких строк и нужно в зависимости от числа, выводить разное строковое значение. Как тогда?
639 2424278
>>24270
то есть ты можешь построчно считывать файл, и в каждой строке есть некоторая зависимость?
тогда....
1. построчно считываешь файл
для каждой строки:
2. проверяешь условие
.
.
.
PROFIT!
640 2424286
>>24278
Понял. Большое спасибо
641 2424321
>>24247
https://en.cppreference.com/w/cpp/string/basic_string/find
Ищешь подстроку 0000040A04000500=, если нашел берешь все что от ее конца до конца строки.
642 2424503
>>24321
Спасибо <3
643 2424590
>>13809

>Монада же это просто моноид в категории эндофункторов, это же все знают, что тут такого.


Я бы сейчас тебя придушил. Я знаю, что такое категории, функторы (и эндофункторы тогда уж) и что такое моноид. Я читал дохуелиард примеров с Maybe и do-нотацией. Но я не знаю, хоть убей, что такое монада в смысле конструкта программиста. Как это работает? Как это использовать?

Похожую фрустрацию я разве что по отношению к продолжениям испытываю.

Гори в аду, мразь.
644 2424677
>>24590
Ахуха. Я знаю прекрасно, как работают продолжения (это просто аргумент для передачи управления), но на монады мой мозг так и не растянулся.
645 2424683
>>24677

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


Подкинь немного из своих запасов, а?

Я вроде как понял, что ты можешь запомнить место в программе и немедленно в него вернутся. Поэтому можно построить цикл с break. А из-за реификации (тоисть "продолжение-внутри-переменной") можно сохранённое продолжение апдейтить после каждого возвращения. Так делаются генераторы.

Но я НИХУЯ не понял, почему при возвращении не откатываются назад все переменные всей программы. Продолжения контролируют только тот стек, где были запомнены?
646 2424695
В чём разница между MFC и SFML, это же 2 графические библиотеки? или это 2 разных названия для одного и того же? я ничего вразумительного не нагуглил Спасибо
647 2424698
>>24695
МФЦ - древняя устаревшая виндовая либа для создания пользовательского интерфейса (кнопки, поля и т.д.), СФМЛ - кроссплатформенная либа для 2Д-графики (линии, прямоугольники). Но в МФЦ тоже можно делать 2Д-графику.
648 2424703
>>24698
Спасибо
SFML унаследована от MFC?
649 2424704
>>24703
Нет, это совершенно разные либы.
650 2424715
>>24683

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


Ты сейчас о чем, о CPS или возврате из call/cc?
651 2424716
>>24715
При возврате из call/cc. Про CPS вообще молчу, я не понял зачем это нужно (если ты, конечно, компилятор не пишешь свой)
652 2424736
>>24716
В самой простой реализации call/cc делает копию стека в хип и этот объект передает как аргумент. Когда продолжение вызывают, кусок из хипа копируется обратно в стек, восстанавливается указатель стека и т.п. Потом делается возврат, он выглядит как возврат из call/cc, только содержимое хипа и глобальные переменные будут другими.
653 2424740
>>24736
Во, вот это заебись. Значит "продолжение" - это состояние программы, как обычно новичку объясняют. Эта хуйня тоньше.

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

Ты не думай, что это что-то замудрёное, просто я тупой. Алсо, а где можно нормально про эти самые продолжения почитать? Чтобы всякие детали объяснялись. Только в талмуде мануале схемы?
654 2424741
>>24740

>это состояние программы


это НЕ состояние программы
стелсфикс
continuations2.png250 Кб, 1273x993
655 2424759
ИЧСХ, в нюфак-треде никто не помог, а в крестотреде нашёлся знающий.
656 2424762
>>24759
>>24736
Кстати, вспомнил. В языках, где все функции - замыкания (например scheme), ты можешь сохранить продолжение в переменной, которая по стеку находится ниже. То есть внутри функции, которая вызвала твою функцию. Но при использовании этого продолжения (возврата в эту точку исполнения), переменная не переписывается.

Это потому что я не понимаю, как переменные в scheme работают? Или потому что продолжения не весь стек переписывают?

Видел как сохраняли в переменной из let (а let - синтаксический сахар для вызова функции), поэтому эта переменная должна была быть частью стека ниже вызова call/cc. Почему не перезаписалось?
спиздел.png395 Кб, 1310x280
657 2424774
>>24762

>Видел как сохраняли в переменной из let (а let - синтаксический сахар для вызова функции), поэтому эта переменная должна была быть частью стека ниже вызова call/cc. Почему не перезаписалось?


А, нет, похоже спиздел. Извините.
658 2424775
>>24740

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


Для этого не обязательно даже продолжения использовать. Вот это
(let ((c 0))
(values
(lambda () (set! c (1+ c)) c)
(lambda () (set! c (1- c)) c)
))
выделит три куска в куче: два замыкания и общая ячейка для с.

>а где можно нормально про эти самые продолжения почитать? Чтобы всякие детали объяснялись.


Dybvig, Three implementation models for Scheme
Более сложная, но очень забористая книжка про CPS и компиляцию в машинный код:
Appel, Compiling with continuations.
659 2424785
>>24774
А, нет. Похоже спиздел что спиздел. Код неверный, не делает того, что я пытался сделать.

>>24775

>Dybvig, Three implementation models for Scheme


>Более сложная, но очень забористая книжка про CPS и компиляцию в машинный код:


>Appel, Compiling with continuations.


Спасибо.
660 2424790
>>24762
Если ниже на стеке есть переменная v и ты делаешь (set! v [call/cc (lambda (c) c)]), то компилятор считает v мутабельной и выделяет в куче объект из одной ячейки (box он же ref), а на стеке вместо v оставляет ссылку на этот объект. call/cc сохраняет копию стека сместе со ссылкой на ref (в котором неопределенное значение), а потом set! меняет это значение.
661 2424795
>>24704
и ещё раз большое Спасибо
не-напиздел.png420 Кб, 571x826
662 2424825
>>24785

>А, нет. Похоже спиздел что спиздел. Код неверный, не делает того, что я пытался сделать.


Вот так пытался сделать, не спиздел всё-таки. Честно слямзено с английской статьи про call/cc

>>24790

>Если ниже на стеке есть переменная v и ты делаешь (set! v [call/cc (lambda (c) c)]), то компилятор считает v мутабельной и выделяет в куче объект из одной ячейки (box он же ref), а на стеке вместо v оставляет ссылку на этот объект.


Вот! Знал, что здесь что-то не так. Бывает, когда нормальные книжки по языку не читаешь, а сразу в пекло лезешь. Хотя почти все книжки, использующие схему, мутабельность не любят. Как будто их мнения спрашивают.
663 2424883
>>24825
встретил неожиданное для себя использование слова const в чужом коде после имени метода и его аргументов, перед телом метода, что значит в данном случае const? (в хедере класса)

int Getter(void) const {return Value; }
664 2424916
test
665 2424917
Реально clang весит ~300 мб на линухе? Или это не прям компилятор и к нему еще что то нужно? Мало же
666 2424919
>>24883
Ты рил меня спрашиваешь, или просто тыкнул?

Метод константный. Нельзя менять значения полей класса (ЕМНИП, вообще нельзя обращатся к this). Это базовые знания крестов, любой учебник должен покрыть. Попробуй как справочник юзать, если от корки до корки читать не хочешь.
667 2425036
>>24919
какой смысл использовать const? это обычный геттер, возвращающий значение одного из полей класса, не ссылку/указатель, а обычное значение
почему const стоит после параметров метода и телом метода? не встречал такого в учебниках (ни в одном) - это меня "смущает" сводит с ума, т.к. я не понимаю почему так
668 2425039
>>24919
Можно обращаться к this и можно менять mutable члены.
>>25036
Компилятор может использовать это для оптимизации. Ну и если ты такое используешь, то лучше везде - для однообразия кода, даже в простых геттерах. А если все таки захочешь случайно изменить не mutable член на тебя наорет компилятор и иде.

>не встречал такого в учебниках (ни в одном) - это меня "смущает" сводит с ума, т.к. я не понимаю почему так


void method () const && noexcept {}
Как тебе такое, Илон Маск?
669 2425043
>>25039
у меня под рукой 2 учебника и один курс, в них не встречал, я просто физически не справлюсь посмотреть вообще во всех ресурсах
спасибо
670 2425055
Есть книжка по Qt с введением в С++ с примерами для классов Qt, а не стандартной библиотеки?
671 2425063
>>24883
Чел это база. Получение значения члена класса не по указателю для модификации всегда делается констом. Не будь батхертом.
672 2425087
>>25055

>по Qt с введением в С++


/0
673 2425109
Какую библиотеку лучше использовать для написания простейшего http-сервера? Кроме Qt
674 2425131
>>25109

>Какую библиотеку лучше использовать для написания простейшего http-сервера?


libnepisatego
675 2425154
>>25131
Но мне нужно
sav.mp41 Мб, mp4,
1280x702, 0:26
676 2425334
Это правда?
image.png2 Кб, 264x30
677 2425338
да, это реальность, сына
678 2425397
Двач, я никогда не использовал cmake. Я хочу подключить только одну библиотеку из буст не только буст, пусть будет для примера к cmake проекту, чтобы мой проект можно было скачать из удаленного репозитория. Я не понял, как это делается, чтобы не нужно было заставлять пользователя скачивать всю коллекцию буста вместе с проектом. Я бы хотел просто положить в папку с проектом нужные библиотеки как в винде и все.
679 2425545
>>25334
и да и нет, уточни что тебе точно нужно знать
хуёвый препод передай ему от меня что он пидор
680 2425547
681 2425553
>>25547
он сам то может и знает, но объяснить в деталях почему-то стесняется гнать таких нахуй надо из преподавания, пущай работает где-нибудь
682 2425557
>>25334
чет как будто вырвано из контекста, скинь полное видео
683 2425561
Что из буста юзаете?
684 2425649
звездочка теперь работает! *
685 2425654
Как вкотиться в robotics беспилотники дроны итд? В России за пределами Яндекса такое вообще востребовано?
686 2425694
687 2425710
>>25694
он немного заикается про кэш процессора, но про конвейер выполнения ни слова
688 2425751
Есть cmake https://pastebin.com/BXHvKNTk который нормально работает на линуксе, но в винде и vcpkg нет. Дает ошибку Target links to target "boost::boost" but the target was not found. Perhaps a find_package() call is missing for an IMPORTED target, or an ALIAS target is missing?
Причем инклуды он ищет правильно
689 2425773
Все, починил.
690 2425777
>>25334
Инкремент тоже может вылезти за пределы кешлайна и опять будет загрузка в десять сто раз медленнее. Он делает это каждые 64 байта.
691 2425800
>>25654

>В России за пределами Яндекса такое вообще востребовано?


Конечно, боевые дроны кто по твоему делает, Яндекс?
692 2425869
Какая вероятность, что код, который компилируется в msvc и clang не скомпилируется в gcc?
693 2426025
>>25869
Хз, зависит от версий и используемых фич. Хотя мне кажется это в гцц больше всякой нестандартной хрени, типа свитч кейсов по диапазонам.
694 2426167
Какие подводные при вкате в С++ в конце 2022 года?
Есть ли смысл вкатываться или лучше выбрать ту же жабу?
695 2426277
>>25545
Не буду, через его лекции я много узнал. Нигде больше нет продвинутого курса на плюсах на человеческом языке.
696 2426278
>>26167
Вкатываться нужно не в язык
Выберай сферу где хотел бы работать: геймдев, бэк, системщина, эммбедед или что то ещё специфичное
697 2426541
>>25334
Если ПРЫЖОК = обращение по случайному адресу, то да.
698 2426559
int c;
c++, ++*c;
699 2426561
ХАХА
--

--
--

а

a
а
b
700 2426566
>>26559
>>26561
Блять, шизло, у тебя есть целый раздел /test/, а ты срёшь в первом попавшемся треде.
изображение.png28 Кб, 614x519
701 2427047
У меня получилось самостоятельно написать свою первую программу с компайл-тайм вычислениями. Но нормально ли вообще, что в ходе компиляции создается 100500 структур?
702 2427057
Суп, аноны. Я немого застрял.
Учу плюсы для себя. Подучил несколько основных тем - циклы, массивы, переменные, функции и все в этом духе. А что теперь делать? Куда дальше копать?
Вообще делал как - беру интересующую меня тему, например калькулятор, дальше копаю ее, попутно узнаю что-то новое.
Тут позарился на сетевое программирование, типа винсокет, но понимаю, что вообще ничего не понимаю.
Других идей, что написать и что изучать у меня, почему то, нет.
703 2427298
>>26278
И как быть вкатуну? Ну вот хочу я допустим ковырять что-нибудь сетевое или системное. Про сетевые протоколы что-то знаю, через сокеты данные перегонял, простенький FTP клиент писал. Дальше что делать-то?
Дальше расковыривать протоколы пытаясь из головы придумать интересную задачу для себя или что делать?
704 2427357
>>27047
И в чем преимущество такого подхода?
705 2427361
>>27057
Roadmap
706 2427442
>>27357
Итт сказали, что вычисления в компал тайм надо переносить и прога летать будет?
707 2427791
Аноны, вопрос может показаться глупым, но ....
вот пощупал я разные win api /sfml / mfc, но совсем чуть-чуть
как мне получить доступ к области экрана в моём "приложении" чтоб туда напрямую писать массив пикселей, а не рисовать квардратики/кружочки/чёрточки используя функции?
708 2427796
>>27791
Обычно у тебя есть какой-нибудь канвас (холст), на котором можно тупо записывать данные в массив пиксеоей. В том же SFML создаёшь текстуру и рисуешь: https://stackoverflow.com/questions/18805206/sfml-drawing-pixel-array
Некоторые пытаются рисовать пиксели через разноцветные прямоугольники 1x1, так делать неэфективно, для библиотеки слишком много лишних вычислений.
709 2427818
>>27791

>как мне получить доступ к области экрана в моём "приложении" чтоб туда напрямую писать массив пикселей


Извращенец
710 2427825
>>27818
Надо просто взять готовую библиотеку, в которой уже всё реализовано, да?))))00
711 2427867
>>27796
Спасибо

>>27818
возможно
а правда что половина сеньоров не могут проитерироваться по двумерному массиву?
712 2427871
>>27867
Сеньоры выражают двумерный массив через одномерный, а то не дай бог проебаться с 0.000001% перформанса.
713 2427873
>>27871
типа такого?

array [m] [n]

for (int i = 0; i <m x n; ++i)
{ array [ ( i %( m x n ) ) ] [ (i % m) ]; }
714 2427876
>>27873

> array [m] [n]


array[m * n];
715 2427881
>>27873
>>27876
и правда я херню написал, так правильнее:

array [ ( i / (n -1) ) ] [ (i % n) ];
716 2427882
>>27881
бля, что со мной сегодня... опять не так

во:

array [ ( i / n ) ] [ (i % n) ];
717 2427884
>>27882
Вот именно поэтому, твёрдо и чётко
array [ m * n ];

А потом в цикле:
array [ i ];
718 2428115
>>27298

>Дальше что делать-то?


Это песочница.
719 2428151
Сап двач я быдло
Есть массив байт, допустим, {0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf0} и мне в определенный момент времени нужно перестроиться и воспринимать его не как массив байтов, а как массив, например, интов, т.е. {0x12345678, 0x9abcdef0}
Как это можно сделать?
720 2428202
>>28151
Для быдла:
union { uint8_t byte[8]; uint32_t word[2]; };
721 2428204
>>28202
По стандарту же вроде UB
722 2428211
>>28204
Кыш! Это ID
723 2428221
>>28151
Для байтоёбов:
reinpretet_cast<int*>(bytes);
724 2428223
>>28151
Для зумеров:
std::variant<std::byte, int> zoombar;
725 2428255
Кто-нибудь страдает постоянным рефакторингом? Я все время переписываю старый код по чуть-чуть дописывая новый, иногда доходит до абсурда что я просто переменные переименовываю. Да код становится более читаемым, где то быстрее, но это вообще норм? Как вы работаете над своими проектами? Может я шизофреник какой?
726 2428256
>>28221

>reinpretet


а потом говорят, мол, автокомплит круто
727 2428280
Хочу хранить в массиве различные вызываемые элементы (функции/функторы/что-то ещё?). Пока вижу 3 варианта:
1. Указатели на функции.
Похоже, самый легковесный вариант. Но, к сожалению, отпадает, т. к. нужно иметь возможность захватывать в функцию некий контекст (пару-тройку переменных) в месте, где эта функция вызывается. Кол-во захватываемых переменных разное, поэтому просто добавить в общий тип хранимых в массиве указателей на функции пару-тройку параметров не получится.

2. Классические указатели на базовый класс с виртуальной функцией. Что-то типа такого:
struct Action {
Action() {}
virtual ~Action() {}
virtual int operator()(int a, int b) = 0;
};
struct Add : Action {
Add(int c) : c(c) {}
int operator()(int a, int b) { return a + b + c; }
int c;
};
потом где-то в коде создаём массив
std::vector<std::unique_ptr<Action>> vec;
где-то в другом месте добавляем в него указатель
int c = 123;
vec.emplace_back(new Add(c));
и где-то в третьем месте вызываем operator()
(*vec[0])(a, b);

3. Обёртка std::function.
Вроде, самый компактный способ.
using Action = std::function<int(int, int)>;
int c = 123;
std::vector<Action> vec;
vec.push_back([=](int a, int b) { return a + b + c; });
Однако, в данном случае sizeof(Action) == 32 байта (под gcc). А оверхед вызова таких обёрнутых лямбда-функций заметно побольше, чем у виртуальных функций (если я правильно померял).

Сам больше склоняюсь ко 2-му варианту. Но, может, есть ещё какой-то способ?
727 2428280
Хочу хранить в массиве различные вызываемые элементы (функции/функторы/что-то ещё?). Пока вижу 3 варианта:
1. Указатели на функции.
Похоже, самый легковесный вариант. Но, к сожалению, отпадает, т. к. нужно иметь возможность захватывать в функцию некий контекст (пару-тройку переменных) в месте, где эта функция вызывается. Кол-во захватываемых переменных разное, поэтому просто добавить в общий тип хранимых в массиве указателей на функции пару-тройку параметров не получится.

2. Классические указатели на базовый класс с виртуальной функцией. Что-то типа такого:
struct Action {
Action() {}
virtual ~Action() {}
virtual int operator()(int a, int b) = 0;
};
struct Add : Action {
Add(int c) : c(c) {}
int operator()(int a, int b) { return a + b + c; }
int c;
};
потом где-то в коде создаём массив
std::vector<std::unique_ptr<Action>> vec;
где-то в другом месте добавляем в него указатель
int c = 123;
vec.emplace_back(new Add(c));
и где-то в третьем месте вызываем operator()
(*vec[0])(a, b);

3. Обёртка std::function.
Вроде, самый компактный способ.
using Action = std::function<int(int, int)>;
int c = 123;
std::vector<Action> vec;
vec.push_back([=](int a, int b) { return a + b + c; });
Однако, в данном случае sizeof(Action) == 32 байта (под gcc). А оверхед вызова таких обёрнутых лямбда-функций заметно побольше, чем у виртуальных функций (если я правильно померял).

Сам больше склоняюсь ко 2-му варианту. Но, может, есть ещё какой-то способ?
728 2428307
>>28280
Эта структура часто меняется?
729 2428321
>>28307
В смысле std::vector<Action>?
Меняется не часто. Но создаваться она должна динамически. Это, на самом деле, часть хэш-таблицы.
730 2428329
>>28280

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


Что тебе мешает? В других случаях придется тратить слово на указатель VMT + фрагментация при динамическом выделении.
731 2428376
>>28329
Ну ты же процитировал, что мне мешает.
В одном случае это будет функция
void func(Foo foo, Bar bar);
в другом случае
void func(Foo foo, Bar bar, Baz baz);
в третьем случае
void func(Foo foo, Bar bar, Abc abc, Def def);
В один и тот же массив все эти указатели положить нельзя.
Ну и потом мне нужно захватывать значения некоторых переменных (из контекста) при добавлении функции/функтора в массив, а не при вызове функции/функтора. А держать ещё один массив специально для захваченных значений переменных - это как-то не очень.
sage 732 2428452
>>28376
std::bind
std::function
733 2428489
>>28376
А, у тебя тот случай, когда нельзя всё привести к void.

>А держать ещё один массив специально для захваченных значений переменных


Если не держать такой массив, придется держать кучу маленьких массивов, сделанных компилятором. Ты хочешь аналог каррирования и динамической типизации, но почему-то не готов платить за это.
734 2428514
Другу нужен слитый курс C++ от Скиллбокс, есть у кого?
735 2428519
>>28514
Есть, вот ссылка: https://2ch.hk/pr/res/2422402.html (М)
Не благодари.
736 2428651
>>28519
Это JS тред, там точно слитый курс есть?
изображение.png10 Кб, 709x132
737 2428664
>>28221
Каст спотыкается об endianness
Если делать им, то, видимо, придётся каждый раз перекладывать байты, ДОРОГО

>>28223
Он для этого не предназначен, да и вообще исключение кинет.
738 2428743
Сап, может мне кто ни будь объяснить для чего нужны поинтеры?

Это прямо ставит меня в тупик. Я понимаю что это такое и как ими управлять. Но я совсем не понимаю как их можно применять. В чём их смысл?
739 2428750
>>28743
смысл ссылок - ссылаться на что-либо

1. на память
2. на динамическую память, чтоб не регулярно потреблять системные ресурсы, а только когда есть в этом необходимость
3. ссылаться можно на функции (точка входа в функцию - тоже какой-то байт в оперативной памяти)
740 2428751
>>28743
>>28750
доступно объяснил?
741 2428752
>>28743
«Все проблемы в программировании решаются путём создания дополнительного уровня косвенности» — Дэвид Виллер
742 2428753
>>28743
В Си нужны для того, чтобы передавать в функции большие массивы или структуры (сравни сам, можно передать 100 мегабайт нельзя, стека не хватит, но я просто как пример привёл, а можно передать 8 байт и смысл не изменится), передавать в функцию параметр, в который ты бы хотел что-то записать, для того, чтобы указывать на функции и для создания ссылочных структур данных (деревья, списки, етц)
В Си++ первые 2 функции сместили ссылки, а для третьей появились новые варианты (которые всё равно основаны на указателях).
В общем, в настоящее время оно нужно для создания ссылочных структур данных и байтоёбства.
743 2428754
image.png77 Кб, 829x430
744 2428755
>>28751
>>28750
Ну вот как бы понятно. Понимаю как это реализовать - то есть как сделать ссылку.

Но зачем?

К примеру вот я изучаю SDL и во всех примерах что бы создать окно нужно объявить не просто переменную, а поинтер SDL_Window *window;

Почему так?
745 2428757
>>28755
Потому что SDL-шизы писали для C.
746 2428758
>>28755
тут не помогу, к сожалению

вот ещё анон правильно написал, сам не подумал:
может в твоём случае именно этот ответ подходящий
>>28753
747 2428759
>>28755
по каким материалам учишь?
748 2428761
749 2428822
>>28755
Окно большое. Чтобы не копировать много байт туда-сюда, передают его адрес.
750 2428850
Как заставить это работать?
https://pastebin.com/K14k1BAd
изображение.png8 Кб, 495x188
751 2428852
>>28850
Вопрос закрыт, нужно было ещё const'ов накидать.
752 2428868
>>28822

>Окно большое.


Толсто.
753 2428944
>>28822
Вот ты по моему доступно объяснил
754 2429003
Qt не видит ниндзю 🥷
🐷 🧞 💘Видит
изображение.png17 Кб, 336x191
755 2429019
WinAPI тоже не видит ниндзю, как собственно и MVS
изображение.png13 Кб, 440x229
756 2429059
А вот эта галочка просто пушка. С ней винда начинает больше походить на человеческую ось и сохраняет по умолчанию все файлы в юникоде.
Больше не нужно писать setlocale
std::ofstream теперь записывает в файл обычную char-строку, содержащую любые символы юникода
757 2429218
Почему для разных библиотек одни и те же типы данных по разному называются?

к примеру:
EBTVOYMAT_KAK_IA_MOGY i =0;
&
int i = 0;

по факту одно и тоже
758 2429236
>>28664

>видимо, придётся каждый раз перекладывать байты, ДОРОГО


На x86 где-то со времён Pentium есть инструкция BSWAP, которая меняет порядок байтов в 32-битном (64-битном для x86_64) регистре на противоположный.
В GCC и MSVC есть интринсики для этой инструкции.
В итоге под GCC у тебя будет:
inline uint32_t read_u32be(uint8_t ptr) {
return __builtin_bswap32(
reinterpret_cast<uint32_t*>(ptr));
}
Это, понятно, нужно только для x86.
Ещё можно написать честную функцию, которая с помощью &,<< и >> изменяет порядок байтов. Clang и GCC её, наверняка, оптимизируют до MOV+BSWAP или даже MOVBE (для современных процов).
Так что это совсем не дорого.
759 2429268
>>29236

>меняет порядок байтов в 32-битном регистре на противоположный.



а это сколько байт в одном бите?
760 2429269
761 2429277
>>29218
Чтобы можно было по-быстрому поменять тип в случае чего.
762 2429283
>>29277
И много ли таких "в случае чего"?
763 2429290
>>29218
Чтобы было понятнее.
Лучше всего венгерская нотация + свои типы:
DWORD dwUserNotFound = TRUE;
764 2429293
>>29290
Хуже всего венгерская нотация и свои типы.
765 2429303
>>29283
Мало, но если придется, то будет много жопоболи. Лучше перебздеть.
Типы это же интринсики, стандарт тебе вовсе не гарантирует наличие uint8_t например.
766 2429352
Что в qt юзать? Cmake или Qmake?
767 2429374
>>29352
Да без разницы, всем привычнее cmake, но лично мне больше нравится qmake
768 2429530
>>29290

>DWORD



Это как то связано с Microsoft Word?
769 2429532
>>28743
Ну есть у тебя ахуеть какая большая структура данных, например. Копировать её каждый раз - зачем? Долго, дорого. Поэтому ты може ссылаться на то место, где она есть. Хотя, как по мне, в ряде случаев это не нужно, как утверждают некоторые.
770 2429871
>>29059

>Больше не нужно писать


>Beta

771 2429873
>>29290
Как дела в мс? Давно из Индии уехал?
772 2429884
int128_t buff = 0;
boost::filesystem::ifstream iFile("bin.mp4", std::ios_base::binary);
iFile.read((char)&buff, sizeof(buff));
cout << "buff is " << buff << endl;

Код выше ясен хуй не работает, просто попытка в лоб.
Есть ли средства прочитать 128 бит инт через ifstream.read() ?
Прочитать 64 бит инт можно через

uint64_t buff;
ifstream iFile("bin.mp4", std::ios_base::binary);
iFile.read((char
)&buff, sizeof(buff));
cout << "buff is " << buff << endl;

А как быть с 128 битным интом?
773 2429889
>>29884
Ты уверен, что проблема в чтении, а не в выводе?
774 2429893
>>29884

>Код выше ясен хуй не работает


А на что ругается?
775 2429919
>>29893
Какое-то исключение при выводе бросает.
776 2429921
>>29889
Даже не знаю, через отладчик визуалки не могу чекнуть что там в буффе у инт128.
777 2429946
>>29352

> Что в qt юзать? Cmake или Qmake?


Если ньюфаг - qmake, если опытный - стоит переходить на cmake.
778 2430046
>>29884
int128_t - это у тебя что за тип?
780 2430069
Чё, как нынче с работой крестаны? Или Яндекс или аналоговнеты?
781 2430188
>>30069
Яндекс, Каспар, Алайн, Сбер, 2гис

Нвидии, дойчебанки и прочие интелы все, уехали
782 2430189
>>30188
мейл\вк забыл
783 2430192
>>30189
Дрвеб еще
image.png22 Кб, 517x415
784 2430200
>>27047

>Но нормально ли вообще, что в ходе компиляции создается 100500 структур?


Да, если ты живешь в 2007 году. Сегодня это выглядит пикрилейтед.
785 2430201
>>30200
Лень из кроватки вставать пеку грузить, чё будет если туда отрицательное значение прокинуть?
786 2430204
>>30201
В идеале должен быть бесконечно компилируемый код.
787 2430206
>>30204

> В идеале должен быть бесконечно компилируемый код.


Ну, переполнится же он когда нибудь
788 2430229
>>27047
Value всегда равно n и не нужно.
Специализация для 1 не нужна.
>>30200
У тебя все равно создаться 100 функций вместо 100 структур, шило на мыло.
И код выдаст 100 вместо 5050.

Все это рассчитывается по элементарной формуле, учитывающей отрицательные числа, и также схлопывается при компиляции.
789 2430233
>>30229

>учитывающей отрицательные числа


Хотя про это наврал, извиняюсь
790 2430271
Почему ключевое слово, командующее оптимизатору ПОДНАЖАТЬ, называется в вашем языке constexpr?
791 2430274
>>30271
Семантика.
792 2430285
>>30271

>командующее оптимизатору ПОДНАЖАТЬ


Чо
793 2430365
>>30201

>чё будет если туда отрицательное значение прокинуть?


Очевидная ошибка компиляции из-за превышения лимита шаблонной рекурсии.

>>30229

>У тебя все равно создаться 100 функций вместо 100 структур, шило на мыло.


Ну это хотя бы читабельно. А что там существует в компайл тайме - всем глубоко похую. Ну и функции очевидно обладают более выразительным/простым синтаксисом.
изображение.png21 Кб, 495x417
794 2430395
Вы когда-нибудь делали декоратор?
Универсальный декоратор у меня сделать не получилось, поэтому для функций, возвращающих void я сделал отдельный.
795 2430409
>>30365

> Очевидная ошибка компиляции из-за превышения лимита шаблонной рекурсии.


Обычную рекурсию оно вроде должно к циклу for соптимизировать, с шаблонной такого не будет?
796 2430423
>>30395

>Вы когда-нибудь делали декоратор?


Да, шаблонный, ещё по заветам дидов. А ты какую-то петухонохуйню принёс.
797 2430424
>>30423

>шаблонный


Тьфу, блядь. Ну, паттерный.
изображение.png23 Кб, 679x397
798 2430443
>>30200
Чувааааак, твой код натолкнул на мысль и у меня получился универсальный декоратор! constexpr чудеса творит, хоть я толком и не умею им пользоваться, например не знал что его после if можно ставить
>>30423
Ну так я изучаю петухон и смотрю можно ли сделать те же штуки на плюсах.
799 2430445
>>30443

>Ну так я изучаю петухон и смотрю можно ли сделать те же штуки на плюсах.


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

По хорошему, тебе нужно function как std::function объявить.
800 2430572
Нахуя вы ебётесь с этими шаблонами, если можно буквально написать
constexpr int sum (int n){
int sum = 0;
for(int i = 1; i <= n; i++)
sum += i;
return sum;
}
которое, судя по примеру в конце этой странички:
https://en.cppreference.com/w/cpp/language/constexpr
будет вычислено на этапе компиляции, но при этом будет допускать использование функции и в рантайме?
image.png40 Кб, 848x340
801 2430579
>>30443
Да, это так и используется примерно, только и сам декоратор и вложенный генератор лучше сделать constexpr, в итоге будет сгенерена непосредственно целевая функция без всякой посторонней хуйни, т.е. фронт выкинет всю обвязку и объединит функцию с декоратором.

>>30445
Это будет работать не только с функциями, плюс std::function работает только в рантайме.
802 2430585
>>30579

>Это будет работать не только с функциями, плюс std::function работает только в рантайме.


А с чем ещё? Функторы? Последний раз когда я хотел их использовать, сказали, что говнокод.
Алсо: декоратор не в рантайме? Ты больной ублюдок? Тут реально лучше лисп возьми и перестань выёбываться.
803 2430593
>>30572
Можно написать (1 + n)/2*n, оптимизатор мамкин.
804 2430598
>>30585

>А с чем ещё? Функторы? Последний раз когда я хотел их использовать, сказали, что говнокод.


Чел, челик, челидзе, все что trivially copyable + callable и нехуй воротить ебалом что ты не знаешь что это такое.

>сказали, что говнокод.


К слову, протип: не работай с долбоебами. Если кто-то что-то не осилил, это не значит что это плохо.

>Алсо: декоратор не в рантайме?


Естественно, нахуя он в рантайме, если вся логика и место привязки обозримы еще на фронте компилятора? На нормальном ревью тебя попросят обосновать нахуя ты еще один индирект впиздрячил в лице std::function там где этого можно было не делать.
805 2430629
>>30598

>trivially copyable + callable и нехуй воротить ебалом что ты не знаешь что это такое


Такие и предлагал, бля. Обоснование говнистости: нихуя нипанятна, почему для полей ты делаешь get, а здесь сделал operator(). Делай тогда уж call / do методы.

>нахуя ты еще один индирект впиздрячил в лице std::function там где этого можно было не делать.


Чтобы тайпчек был. Если бы можно было проверку callable делать не внутри функции, а просто по типу, то незачем.
806 2430648
>>30629

>Если бы можно было проверку callable делать не внутри функции, а просто по типy


Эххх.. Если бы в stl были type_traits а в с++20 приняли бы концепты. Тогда да, тогда зажили бы.......
807 2430651
>>30629

>Такие и предлагал, бля.


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

>Если бы можно было проверку callable делать не внутри функции, а просто по типу, то незачем.


А в чем собственно проблема?
808 2430660
>>30648
Издеваешься? Как такое с auto сделать, не подскажешь сразу?
809 2430666
>>30660
Пример приведи, что ты конкретно хочешь сделать.
810 2430673
>>30660
Во-первых, нах тебе именно авто?
Во-вторых
template<typename T> concept Callable = requires(T a) { { .... } ->....; };
auto zalupa(Callable auto arg) { .... }
811 2430675
>>30666
Сотона, он сделал функцию с аргументом типа auto. Но этот аргумент надо бы чекать на то, что он callable. Да, я знаю, что можно через тайп трейты проверить, если функция шаблонная. У него же constexpr auto (auto)

Поэтому я и спросил, как это сделать на его примере здесь: >>30579

Алсо, концепты не ебу. Плюсы меняются быстрее, чем я успеваю учить программисткую теорию. Зато модули, которых я очень долго ждал, так и не впилили до конца, суки.
812 2430677
>>30673
Вот, теперь понятнее. Всё-таки ебучие концепты. Окей, мои знания устарели.
813 2430679
>>30675

>Сотона, он сделал функцию с аргументом типа auto. Но этот аргумент надо бы чекать на то, что он callable.


static_assert(std::is_invocable_v<decltype(function), Args...>, ... )

Это если у тебя по какой-то причине не поддерживаются концепты.
814 2430693
Напомните, сколько ключевых слов в последнем диалекте вашего языка?
815 2430716
>>30046
бустовая хуйня для больших чисел.
816 2430774
>>30716
Нет, это нестандартное расширение компилятора. Бустовская хрень называется Multiprecision - там вообще нет ограничений на размер числа.
817 2430780
>>30693
Видимо достаточно для подрыва твоей жопы.
818 2431086
>>30188
Получается, что остался только бэекенд и поэтому из плюсов пора выкатываться официально?
819 2431287
>>31086
я не вижу смысла сейчас в РФ дрочить плюсцы.

Джава\Го\фронт прости господи. И работа есть, и оплачивается лучше, и перспектив больше
820 2432139
Расскажите что из себя представляет прога на функциАНАЛьноя языке? Там тупо в исходнике определения чистых функций и парочка грязных функций с входными данными. Вейт, но ведь в крестах тоже самое, только нет обязательного требования к чистоте феункций.. Рябят, я запутался, помогите, мне очень интересно знать в чем смысл функцианального подхода.
821 2432145
>>32139
Функциональный язык не просто о чистоте функций, это ещё и когда функции у тебя не в компьютерном, а в математическом смысле, т.е. нет управляющих инструкций, и всё определение записывается в одно выражение. Фактически немного меняется семантика языка, а суть осталась прежней, пишутся те же самые алгоритмы, но вывернутые наизнанку, т.к. управляющие конструкции выразили через функции и рекурсию. Может потыкать хаскелль или схему, чтобы прочувствовать.
822 2432284
>>32139
Крестовые шаблоны видел? Это полный по тюрингу функциональный язык. STL тоже во многом функциональщина, причем изначально, скажи спасибо Степанову.
823 2432347
>>32139

>только нет обязательного требования к чистоте феункций


Как это нет? Если не будешь соблюдать чистоту функций кроме определённых экзотических ситуаций - над тобой будут смеяться и показывать пальцем, люди будут сторониться и считать тебя дурачком.
Чаще всего грязные функции - это быдлокод.
824 2432991
>>10386 (OP)
Аноны, есть ли жизнь на Винде с VS Code? Если не использую студию, то нужен шланг или можно всё же оставаться с MSVC? Есть ли варианты собирать чем-то кроме cmake?
Хочу укатиться из студии, потому что заебал интерфейс, я пишу ещё на расте и VS Code уже удобнее ощущается, сильно не хватает аутлайна в студии, куча лишнего говна, которым я не пользуюсь. MSBuild бесит отсутствием папок, так же хочется модулей, но интели сэнс постоянно раком встаёт. Ещё видел всякие санитайзеры и прочие зумерские мокрописьки, но в студии ахуел от того как криво они работают.
825 2433109
Как так получилось, что в самом системном и байтоебском ЯП не завезли тип byte, а вместо него используется char?
826 2433111
>>33109
А чем тебе char не byte?
827 2433122
>>33109
using byte = char;

Я завез, можешь пользоваться
828 2433124
# define byte char
829 2433130
>>33109
>>33111
>>33122
>>33124
Чароебы у вас переполнение знаковых.
830 2433132
>>33130
Нет.
831 2433160
>>33109
Ты кресты с сишкой перепутал, мань. У нас есть std::byte.
832 2433173
>>33160

>У нас есть std::byte.


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

>>33124
>>33122
>>33111

>ряяяя нинужна


Понятно.
833 2433176
>>33173
Тебе не кажется, что если язык поддерживает расширение себя на нативном уровне, то это отнюдь не недостаток?
834 2433191
>>33173

> стандартная библиотека


> костыль извне


Что ещё спизданёшь?
835 2433215
Суки дайте денег вы пожалеете что родились
836 2433227
>>33215
Ты ничего не получишь.
837 2433231
>>33109
Дурачок, си и кресты обслуживают хотелки бизнеса.
Если бизнес захочет например сделать из-за инженерных или финансовых причин минимально адресуемые адреса 16 битными ( см. безумные творения Texas instruments), кресты сделают 16 битный char, стандарт это явно позволяет. А что сделает твой игрушечный язык? Ряяя я работаю ток на арме и х86?
5050.캡처.PNG195 Кб, 733x621
838 2433237
>>33231
В догонку для дурачка.
839 2433308
lina-jpeg-dump.jpg82 Кб, 500x634
840 2433311
841 2433325
>>33132
Да.
842 2433347
>>33191
Да костыль, у нормальных языков типы из коробки идут без подключений liba2.h.
>>33231
Да, дохуя они сделают, учитывая, что коммитет послал нахуй гугол(одну из самых больших потребителей плюсов, напоминаю) и те с горящей жопой побежали карбон пилить.
843 2433352
>>33231

>кресты сделают 16 битный char, стандарт это явно позволяет


Алсо, блядь, поэтому и нужен нормальных byte, а не его пародия через char, чтобы такой хуйни не возникало. И т.е. ты на полном серьезе этот аргумент привел, дуралей? Типа к тебе приходят спросить про тип, который означает один байт, другие отвечают, что можно использовать char, так как он занимает один байт, а ты выдаешь что-то уровня "ряяяя не выебывайся, жри, что дают, иначе вообще все сломаем". Ну охуенно что.
844 2433372
>>33352
Троллинг тупостью, ок.
845 2433394
>>33352
Почему ты решил, что на условной архитектуре через 50 лет будут байты?
846 2433423
>>33372

>Троллинг тупостью, ок


Что ок? Обосрался с аргументом - прими достойно.

>>33394
Так мне не нужно через 50 лет, мне нужно сейчас. А сейчас используются баты, на трайты и кубиты пока что не перешли.
847 2433451
>>33325
Пизда.
848 2433457
>>33423
Так используй байты сейчас, долбаёб.
Не нравится std::byte - используй uint8_t, в чем проблема?
849 2433463
>>33423
Каким аргументом? Бизнес тебе предъявляет требования, ты его шлёшь нахуй. Кто идёт нахуй в итоге?
850 2433470
>>33457
>>33463
Это я к тому, что язык на коленке спроектирован.
851 2433471
>>33470
Это норм, я тоже несколько дсл языков на коленке делал.
852 2433474
>>33470
Просто не пиши на нем.
853 2433576
>>33352
Что в твоём понятии "нормальный байт"? Чар и есть по стандарту ровно 1 байт блять, если байт это "минимально адресуется единица". Или что, 8 бит? Так такая хуйня во всяких рфцшках зовётся не байтами а октетами.
854 2433916
Аноны, только не бейте!
Почему у меня в панели элементов нет баттонов, скроллбаров и тд?
Делал ресет - не помогает.
Если тыкнуть "показать все", то элементы высвечиваются, но на форму добавить их не могу
855 2434012
856 2434050
>>33916
Сынок, нахуй с треда срыгнул быстро в свой джавазагон.
857 2434082
>>34012
Плюсы
858 2434249
Такс. Я прочитал основные книги, покопался в различном коде и даже понаписывал кое-чего своего. Куда дальше двигаться? Что учить?
859 2434284
>>34249
Пиздуй на собес.
860 2434287
>>34284
Но я не хочу работать за 5к гривен...
861 2434295
>>34287
Так работай за 50к гривен.
862 2434297
>>34295
Ну я и спрашиваю что доучить чтобы получать не копейки стажёрские. Буст там, qt-ху какую-нибудь или ещё что?
863 2434300
>>34297
Буст там, Qt.
cmake, git, линукс
864 2434310
>>34300

>Буст там, Qt.


Ну ладно, скачаю.

>cmake, git, линукс


Ты бы ещё про слепую печать написал.
865 2434315
>>34310
Ну мало ли, некоторые на полном серьёзе спрашивают, надо ли это учить, или это всё только для сеньоров, лол.
866 2434317
>>34297
что бы ты не учил - без настоящего боевого опыта ты будешь получать только копейки
867 2434319
>>34315
>>34317
Ну так я и не зелень совсем, суммарно 2.5 года на js и шарпе отпахал, а начинал вообще с сишки. Ща просто в процессе гэпа+переката.
868 2434363
>>34319
тогда нърм. Скотта Майерса вызубри всего
869 2434371
>>34363
Да уже, собственно говоря. Писал же что базу книг прочитал.
image.png24 Кб, 649x256
870 2434512
Сука, как же это бесит

Какой еблан такую хуиту придумал? Почти во всем си/с++ легаси говне, что я видел или щупал, писали циклы через шаблоны

Нахуя? Они байтики кода экономили?

Сиди блядь и пытайся теперь эти циклы разворачивать
871 2434513
>>34512

>>макросы


фикс
872 2434530
>>34512
Ни разу не видел
873 2434622
>>34512
Неосилятор, спок. Не нравится - уступи место ждуну
874 2434724
>>34622
Чичас бы в 2к22 макросы осиливать
.png70 Кб, 1069x640
875 2434734
>>34724
Лучше осиливать темплейты.
876 2434735
>>34734
Как что-то плохое
877 2434829
>>34512
А хули поделать, если сахара нет? Вот в расте лямбду можно писать вот так - " || 1+1 " , а у нас ебучая лапша. С циклами так же, хули нельзя написать " for( i : 0..size() ) "?
878 2434879
>>34829
Почему нельзя?
for (int i : iota(0) | take(100))
879 2434882
>>34829
Алсо есть бустовские лямбды, типа
_1 * 2
880 2434886
Каким вообще надо быть червем пидором чтобы критиковать язык, который ты не знаешь?
881 2434897
>>34886
А плюсы то хоть кто то знает?
Думаю даже деды из комитета не могут о себе такое сказать
882 2434927
>>34512
так сидебилы любят делать в нии, в нормальном С++ проекте человека, пищущего подобное даже не пушечный выстрел не подпустят
883 2434942
>>34879
Ну и чем это говно лучше макросов?
>>34882

> бустовские


Сразу нахуй.
884 2434967
>>34927
Плюсодебил как всегла не осилил божественные концепции Си-господ и начал извергаться калом изо всех щелей.
885 2435004
>>34967
божественные концепции семидесятых годов были актуальные в семидесятых годах
886 2435008
>>35004
С тех пор ничего нового и не придумали, лол. Все идеи в CS, а в частности языкостроения прямиком из 70-80х годов. Только в расте, что-то относительно новое высрали.
887 2435037
>>35008
Придумали не использовать макросы там, где не надо.
image.png9 Кб, 154x174
888 2435506
идентификатор не определён ЧЯДНТ?
889 2435521
>>35506
Обращаешься к функции до её определения?
Прототипы напиши в начале файла или сначала определяй функцию, а потом пользуйся ей.
890 2435529
>>35521

> Обращаешься к функции до её определения?


блядь, это же в ссаных крестах только так, а вот в СИСИШАРПЕ ТО....
891 2435638
Анон, чего бы такого почитать, чтоб не совсем для новичков основы C++ более-менее знаю, но чтобы доходчиво friendly библиотека/фрейворк или ещё что - без разницы, главное хорошо разжёванный материал.
Пробовал с пяток книжек по win api, и во всех одна и лабуда. К примеру ни в одной книге не написано что такое дискриптор окна windows (HWND).
Лезу в гугл, там люди пишут что HWND (и другие дискрипроты) это тип данных HANDLE.
Опять лезу в гугл, с вопросом что такое HANDLE, люди пишут что HANDLE это 32-bit unsigned int, в других местах пишут что HANDLE это указатель на тип void чего, блять!? - нагуглил что это указатель на почти любой тип данных
А сейчас риторический вопрос в никуда, просто о наболевшем какого хуя люди-уёбки пишут книги в которых ничего не понятно, такое чувство что 999 книг из 1000 написаны только для того чтоб указать их в своём "портфолио" и работадатель заглянув туда охуел и подумал что перед ним ниебаццо какой специалист. Я страницы из таких книжек не могу прочитать чтоб 100 раз не полезть в поисковик и по итогу тоже нихуя не понять.

в первую очередь учусь для саморазвития, в идеале найти работу
892 2435735
>>35638

>но чтобы доходчиво библиотека/фрейворк или ещё что - без разницы, главное хорошо разжёванный материал.


Чё

>в других местах пишут что HANDLE это указатель на тип void чего, блять!?


Что такое HWND и HANDLE написано прямо в msdn.
Если ты не знаешь, что такое указатель на void, то тебе ещё рано в winapi. Учи C++.
893 2435759
>>35735

>Что такое HWND и HANDLE написано прямо в msdn


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

>Если ты не знаешь, что такое указатель на void, то тебе ещё рано в winapi.


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

>Учи C++


Хорошо. >>35638 >>35735
посоветуй чего-нибудь

>Анон, чего бы такого почитать, чтоб не совсем для новичков основы C++ более-менее знаю, но чтобы доходчиво friendly библиотека/фрейворк или ещё что - без разницы, главное хорошо разжёванный материал.

894 2435761
>>35638
>>35759
Сынок, борда 18+. Если ты не можешь прочитать документацию, то у тебя слабоумие.
895 2435767
>>35761
дай ссылку, я нашёл типы данных Windows тут:
https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types

это оно? в глаза ебусь - не вижу чтоб там было хоть слово о типе HANDLE, но всякие HACCEL, HBITMAP, HBRUSH, HCOLORSPACE, HCONV и прочие являются typedef HANDLE
896 2435768
>>35529
В ссаном сишарпе нет функций. Пиши на крестах в классах, как в шарпе, и никогда у тебя этой проблемы не будет.
изображение.png7 Кб, 594x144
897 2435846
>>35767

>в глаза ебусь - не вижу чтоб там было хоть слово о типе HANDLE

898 2435872
>>35846
Спасибо
er.mp47,7 Мб, mp4,
1280x720, 0:32
899 2435925
Блядь
А почему не будет лика? Если Т нетривиальный тип, где в конструкторе есть new, то на какой-нибудь итерации цикла копирования бросится исключение и будет утечка на тех элементах, которые успели скопироваться.
900 2435932
>>35008

> Только в расте, что-то относительно новое высрали.


Мув-семантику, спизженную из с++11?
901 2435945
>>22996
SYCL типа?
902 2436016
>>35932
Боров-чекер
903 2436046
>>36016

>Боров-чекер


Эх, сука. Во времена моей молодости это называлось -Wall -Werror
904 2436100
>>36046

>Во времена моей молодости это называлось -Wall -Werror


Вообще разные вещи.
905 2436106
>>36100
std::out_of_range
906 2436108
>>36100
Ты сказал?
907 2436153
>>36108
>>36106
Вы вообще про что-то раст читали? Документацию там?
908 2436155
>>36153
Мне не платят за то, что я учу по новому языку в неделю. Который к тому же не факт что будет хоть сколько-нибудь востребованным через 5 лет.
909 2436176
>>35638
Handle это просто ручка, за которую ты можешь достать нужный тебе объект. Обычно это целый тип данных без знака - считай просто число. А смысл числа зависит от реализации - адрес в памяти, порядковый номер в каком-то массиве данных или составной ключ (допустим 135428 == xxyyzz, xx - тип, yy - подтип, zz - номер в массиве).
Это изначально абстракция для уникальной идентификации ресурса (объекта) и не надо парить мозг как она там под капотом устроена. Есть тип абстрактного ресурса HANDLE и от него "наследуются" (через typedef) типы других ресурсов HIMAGE, HDC, Hxxx.
910 2436180
>>36176

>HACCEL, HBITMAP, HBRUSH, HCOLORSPACE, HCONV


Почему названия, как будто ебаный паинт программируешь
911 2436231
>>36155
Ну личный интерес там, любовь к технологиям, нет?
912 2436244
>>36231
Так верно - к технологиям, а не к инструментам. Я уже знаю плюсы, жс и питон, зачем мне ещё ещё что-то если я уже универсальный боец?
913 2436253
>>36180
Потому что легаси с начала 90-х.
914 2436268
>>35925

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


Не будет утечки, ибо сработает деструктор этих элементов.
915 2436295
>>36231
Чел, тут пол треда на с++11 сидят, о каких новых технологиях ты хочешь им донести?
916 2436302
>>36295
Будто с 11 стандарта так много "технологичных" фичей появилось.
917 2436305
>>36302
Нет конечно, только пытаются технологический с++11 пофиксить
918 2436309
>>36305
Ну вот. Язык развивается, становится лучше от стандарта к стандарту, коммитет учится на своих ошибках.
919 2436311
>>36309
А половина индустрии всё ещё на с++11 сидит, молодцы в комитете, лет через 15 уже на с++20 может даже перейдут
920 2436315
>>36311
Пущай себе сидит. Полстраны тоже когда-то сидело. Можем ли мы им запретить? Если удобно - пущай сидят.
921 2436355
>>36244

>Так верно - к технологиям, а не к инструментам. Я уже знаю плюсы, жс и питон, зачем мне ещё ещё что-то если я уже универсальный боец?


Так это именно та технология, которая решает проблемы, которые не устранили в Си и Плюсах за 30лет. Мне казалось, что для байтоебов должно быть максимально интересно.
922 2436360
>>36355

>это именно та технология, которая решает проблемы, которые не устранили в Си и Плюсах за 30лет


such as?
923 2436362
>>36268
Все, протестил и понял.
new T[n] вызывает дефолтные конструкторы T для всех элементов, я почему-то думал, что просто выделяется кусок памяти размеров sizeof(T)*n с мусором, наверное потому что так было бы быстрее.
delete[] вызывает деструкторы у всех элементов, поэтому в примере с видео все ок.
И наконец, если во время аллокации new T[n] у одного из T конструктор бросит исключение, то до захода в блок catch магическим образом будет вызвано столько деструкторов, сколько элементов массива успело сконструироваться. Это при условии, что исключение отловлено. Если не отловлено, утечка памяти и UB, и студия стопает выполнение. Что будет в готовом продукте - хуй его знает.
924 2436372
>>36362

> И наконец, если во время аллокации new T[n] у одного из T конструктор бросит исключение, то до захода в блок catch магическим образом будет вызвано столько деструкторов, сколько элементов массива успело сконструироваться.


Потому что c++ это гарантирует
Зачем ты лезешь в такие дебри, если ещё не выучил азы?
925 2436373
>>36360
Базовая и основная, которая является причиной ~90%+ уязвимостей, а именно обсеры с памятью. Да можно упомянуть такие штуки как MISRA, но оно только для написания софта под марсоходов подходит, ибо сжирает непомерно много человекочасов
926 2436377
>>36372
Я то выучил, знал ведь, чем malloc от new отличается, но только на практических примерах приходит полное осознание.
927 2436385
>>36373
Это что же получается: в расте умные указатели умнее или потокобезопасность безопаснее?
928 2436444
>>36385
Ладно, это бесполезно обьяснять и что-то говорить, если ты сам не интересуешься своей областью.
929 2436460
>>35925
>>36362
>>36377
что за курс? есть в открытом доступе?
930 2436464
>>36176
Спасибо
931 2436480
Посоветуйте годных каналов на ютубе. В частности чел пишет разные проекты.
932 2436483
>>36180

>Почему названия, как будто ебаный паинт программируешь


Потому что винапи написан на сишке, всякие МФЦ это уже обертки.
933 2436484
>>36483

> МФЦ


МНОГОФУНКЦИОНАЛЬНЫЙ ЦЕНТР?
934 2436491
>>36480
tsoding
В последнее время, правда, в хохлошизу ударился, но сам чувак нормальный. Живет в Новосибе и стримит на ангельском.
935 2436509
>>36491

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


Сказал А говори и Б - он за чьих? Бтв что это за мода каждому первому прогеру писать свой ЯП?
936 2436514
>>36509

>Сказал А говори и Б - он за чьих


А мне откуда знать? Это стиимы по кодингу, а не политические дебаты, но ссылочка на донаты Украине в комментах висит.

>Бтв что это за мода каждому первому прогеру писать свой ЯП


Поиграться? Попробовать свое говно слепить?
937 2436541
>>36509

>Бтв что это за мода каждому первому прогеру писать свой ЯП?


Потому что хороший программист в том числе немного лингвист. Может не каждый пишет язык общего назначения, но дсл под разные нужды точно.
938 2436550
Так, блядь. Открыл краткую выжимку из С++17 на цппрефе.

У меня один вопрос: хули так много?

Я чёт немного в ахуе. А в двадцатом уже на монадические операторы замахиваются. Чё за нахуй?

И это везде на рабочих местах требуют? Где дух старой школы? Типа, как гуглопидоры, которые даже эксепшенов боятся.
939 2436556
>>36550

>которые даже эксепшенов боятся


Эксепшны это не просто синтаксический сахар, а сложная хуйня с RTTI, блекджеком, шлюхами и цирком с конями, от того их все и боятся.
940 2436560
>>36556
Да знаю я, что они дорогие. Для этого вроде как noexcept и throw и впиливали же.
Дело в другом: что, все так и ломанулись юзать ranges, концепты, корутины и вот это всё? Это же пизда.
ImageFacebookSquareimage1660359706753.jpg340 Кб, 1000x1000
941 2436566
>>36550

> А в двадцатом уже на монадические операторы замахиваются.


Да ты монады и раньше мог крутить.
942 2436568
>>36566
Да, это же просто паттерн такой. Вопрос нахуя тащить это в стандартную либу?
Соврал, кстати, в 23 хотят сделать.
943 2436583
>>36568
В крестаче постоянно всплывают два типа людей:
1) нахуя это тащить в стл, она и так пухлая
2) чё кресты такие отсталые, там нет {функциональная или ещё какая хрень нейм}
Похоже комитет в такой же ситуации.
944 2436586
>>36583
И этим пидорам из второй категории всегда будет мало. И этих пидоров ещё и разные типы существуют. И все тянут одеяло на себя.
Тьфу, блядь.

Так, где-то к С++30 можно будет ливать нахуй из крестов.
945 2436668
Нашёл интересное почитать. Как самому написать типо-безопасный класс, объекты которого могут "хранить" обычные функции или функции-члены других объектов с одинаковой сигнатурой. Без оверхэда и СМС.
https://bitwizeshift.github.io/posts/2021/02/24/creating-a-fast-and-efficient-delegate-type-part-1/
946 2436671
На плюсах можно сделать игру для смартфорна?
947 2436675
>>36671
Короткий ответ - да

Длинный ответ - сейчас для написания игр используют движки, есть unreal engine, в нем можешь на плюсах и блюпринтах писать, а затем свою игру хоть на пеке, хоть на консоли, хоть на мобилке запускать
Можно попробовать написать игру без движка или написать его самому, все это тоже сделать возможно на плюсах, но сложнее в миллионы раз
948 2436676
>>36671
А чо нет, вон Морровинд под андроид переделали же.
949 2436706
>>36586

> где-то к С++30 можно будет ливать нахуй из крестов.


Нахуя ливать-то и куда?
950 2436707
>>36460
Я просто вбил в гугле гарантии безопасности, чтоб подробнее изучить
https://www.youtube.com/watch?v=6l7Bp4eSoyw
chevo.jpg98 Кб, 1280x720
951 2436709
>>36676

>Морровинд под андроид


Может майнкрафт?
Без названия (13).jpeg96 Кб, 700x523
952 2436730
954 2436953
Как лечить байтоёбство? Понятно что у меня психика уже наёбнута, но может есть какие-то практические упражнения. После крестов и раста не могу писать на других ЯП. Я вот понимаю что на десктопе в 2022 похуй софт жрёт 50 мб или 500 мб ОЗУ, но не могу пересилить себя, в итоге пердолю байты. Я понимаю что все эти абстрактные "быстрее в 3 раза" только в бенчмарке или хайлоаде можно увидеть глазом, но всё равно не могу. Без сахара как в расте не могу. Я вот недавно хотел на Шарп вернуться, как 10 лет назад, но потом, увидев документацию ref struct, закатил глаза и закрыл студию. Как жить теперь? Алсо, я работаю в ИТ, но не занимаюсь кодингом напрямую.
955 2436957
>>36953
Не надо лечить, пиши на любом языке максимально эффективный и производительный код.
956 2436962
>>36957
Но я пишу не эффективно, похуй на эффективность кода. Хочу хуяк-хуяк, но меня аж трясёт.
16438231031530.png111 Кб, 600x842
957 2437025
>>36706

>куда?

958 2437149
Clang или gcc и почему?
959 2437155
>>37149
По задачам.
960 2437183
>>37149
Шланг для линтеров, потому что структура новая и модульная, гцц для итоговой компиляции, потому что в итоге код получается более производительный.
961 2437194
>>37155
У самурая нет задачи, только вечный путь исправления сегфолтов.
962 2437275
>>36953

>Как лечить


>не занимаюсь кодингом


Ну так займись, хуле. Берёшь таску, оцениваешь её и аппрувишь 0.75 от своей оценки. Хуячишь абы как, чтобы успеть. Сначала будет сопротивление, потом торг и принятие. Короче иди веслать на галеру - там твой недуг быстро вылечат.
963 2437402
Подкиньте мне идеи для пета
964 2437410
965 2437415
>>37410
Co to jest?
967 2437428
>>37420
Я сказал идею для пета, а не проекта на полжизни.
968 2437464
>>37402
Придумай относительно несложный язык уровня си и напиши для него интерпретатор. Или компилятор.
969 2437470
Существуют ли сценарии когда auto может зарезолвиться в какой-нибудь int8_t вместо обычного инта?
970 2437491
>>37470
Ну, когда результат выражения будет твой инт8...
971 2437496
>>37470
Когда функция возвращает этот тип
Когда переменная справа имеет этот тип

>>37402
Микро игровой движок
Рейтресер
Файловый менеджер, с какими нибудь приколами
Простой веб сервер какой нибудь, чтобы бд туда прикрутить и ещё пару свистоперделок
Какой нибудь чит для игры сингплеерной, чтобы себе деньги или ещё какие нибудь ресы начитерить
Зареверсь что то
Ну ещё есть огромное колличество всяких приколов на Ардуино
972 2437503
>>37464
Ну это же что-то на уровне крудошлёпства, разве нет? Тем более практической пользы 0.
>>37496
Вот тут варианты посексуальнее явно.
973 2437534
>>37503

>крудошлёпства


>компилятор


Ну да, буквально одно и то же.
974 2437541
>>37534
Ну а чё нет то? Всего-то правильно парсить исходники.
975 2437628
>>36953

> увидев документацию ref struct, закатил глаза и закрыл студию.


В чем суть?
976 2437667
Что еще читать по winapi кроме msdn?
Посоветуйте литературы по которой сами учили.
977 2437709
>>37628
В том что для того чтоб иметь структуры на стеке и быть уверенным что не случится boxing, нужно выкинуть 2/3 всего функционала. И индусы горда назвали этот огрызок ref struct. А обычная структура хоть и является value-типом, но может быть по желанию компилятора отправлена на кучу. При этом классы - это ref-тип и всегда на куче. В итоге вместо RAII на стеке имеем тонны говна на куче, которое чистит вилкой GC, и потребление памяти как у джавы. А из альтернатив только ущербный ref struct, от списка ограничений которого я ахуел.
978 2437721
>>37709

>boxing


Я сейчас почитал и охуел (снова). А как вообще язык, в котором такое есть (без ведома программиста, заметьте), может называться быстрым? Я всё понимаю, UB, грязные мерзкие поинтеры и прочая и прочая. Но вот это? Это же ебучая пакостная хуйня.

Можно ссыль на то, где обосновывается что boxing - это серебряная пуля, и прогер не должен над этим иметь контроля? (По крайней мере для языков, которые обычно компилируют в бинари)

мимо
979 2437757
гцц божий болт точка оргазм
980 2437779
>>37667
Нету литературы нормальной по winapi, если кто-то и учит, то только по msdn.
А нахуя оно тебе вообще?
981 2437783
>>37721

> А как вообще язык, в котором такое есть (без ведома программиста, заметьте), может называться быстрым


Никто не считает до диез быстрым.
982 2437788
>>37783
Я имею в виду хуеву тучу языков. Не обязательно один определённый. Вот раст считают быстрым?
983 2437789
мысли плюсоебов о раст?
984 2437792
>>37789
ПедеRust - этим всё сказано
985 2437793
>>37789
С++, как и раст, нахуй не нужны за пределами прям очень очень очень узкой ниши в разработке.

Только вот в этой нише уже 50 лет как все пишется на си и крестах.
986 2437866
>>37779
это платиновый вопрос видимо. Но что после базовых книжек выбрать, куда дрочить дальше, в какую сторону?
Из моих данных исходных: работа сервис-инженера\1сника\сис-админа- все клиенты на винде.Хотелось бы пока вкатываюсь и обучаюсь какие-то мелкие штучки дрючки под работу делать.
Под такой расклад что в перспективе с c++ лучше учить?
987 2437867
>>37866
Нашел инфу сам только, что boost и qt - имба.
Но почему-то взялся за винапи...
988 2437868
>>37667
Рихтер
989 2437869
>>37868
А не старовата? Там windows 2000 рассматривается
990 2437880
>>37866
Тебе не надо учить что-либо без задач.
Тебе нужна задача.
Сделать беспонтовый чат\супер марио\гуевое приложение\расчет какого-нибудь матана - писать код и учить то, в чем есть нужда. Просто учить что либо бессмысленно.
991 2437888
А как вообще узнать свой уровень? Что надо знать чтобы фрилансить например?
992 2437889
>>37888

>Что надо знать чтобы фрилансить например?


PHP, JS/TS (React/Angular/Vue), CSS.
993 2437890
в VSCode реально что-то делать? или нужно ебать сексом джва часа, сука почему так сложно сделать лёгкую IDE, а не обоссаную студию
994 2437898
>>37889
А HTML и MySQL где?
995 2437899
>>37890
Поставь codeblocks
996 2437901
>>37890
Конечно можно, clangd + cmake

на плюсах даже нормального лсп нету, как ты собрался лёгкую Иде делать тут? Новая кста студия вроде быстрой стала, по крайней мере у меня
997 2437904
>>37901

> Новая кста студия вроде быстрой стала, по крайней мере у меня


это скорее всего у баринов с 666 гб оперативки и NVME, почему в этом говне такой уёбский интерфейс? я даже не вижу как папку создать
998 2437905
>>37904
Ну чел, щас оператива и ссд копейки стоят
999 2437906
>>37541
Ты же ни одного не написала, да?
1000 2437961
>>36707
Спасибо
1001 2437977
>>37667
я тоже пытаюсь в winapi, только начал, что-то конкретное порекомендовать не могу, только то, что нашёл сам, пока на стадии выбора
имею следующий список литературы:

Литвиненко - технология программирования на C++ Win32 API
Саймон - справочник системного программиста
Петцольд
Побегайло - системное программирование в windows
Рихтер - создание эффективных win-32 приложений
Назар и Рихтер
Русинович - аж 9 книг (часть из них разные переиздания)
Щупак - разработка приложений для Windows
Павловская и Щупак
Гальченко - системное программирование в среде win32
Харт - системное программирование в среде windows
Марапулец - системное программирование в win api
Шрайбер - не нашёл книжку где скачать (справочник по базовым функциям)

я только начал и попробовать успел только Литвиненко, какую-то ещё книжку из списка, ну и разумеется msdn
пока что сплошное разочарование, примеры не работают в VS-22 даже с msdn, ни в одном из источников не объясняются многие вещи, в ближайшие дни буду браться за Побегайло

отпиши в треде как у тебя дела, может что сам ещё найдёшь хорошего, хорошо?
1002 2437987
>>37977
Спасибо за список. Отпишусь, если не дропну винапи)
Эх, ну правильно в треде отписали, что лучше иметь какую-то задачу. Так интереснее, легче найти по ключевым словам современные решения + не забудешь что узнал.
1003 2437988
>>37667
Зачем тебе вообще винапи? Туда стоит лезть в очень редких случаях, обычно можно обойтись чем то более высокоуровневым.
1004 2438004
Самая лучшая хеш функция для строки?
1005 2438067
Виджеты или QML?
1006 2438068
>>38067
По задачам.
1007 2438075
>>38067
Смотря что ты хочешь получить. Если сложное стандартно выглядящее десктопное приложение, то скорее виджеты, в куэмле компоненты есть и под десктопную тему могут закосить, но 100% сложного виджетного функционала не покроют, и вскроется это на каком нибудь TableView или TreeView.

Во всех остальных случаях, особенно если запускаться это будет не (или не только) на десктопе - ессно qml, он охуенен, хотя есть у меня у нему некоторая претензия.
1008 2438081
>>38068
Бот, иди нахуй
>>38075
Слышал что QML для тяжёлого гуя не подходит
1009 2438092
>>38067
И можно совмещать же. У меня например в одном проекте виджет рисует карту, а интерфейс поверх нее на кюмл.
1010 2438093
>>38081
Ну что значит "тяжёлого гуя"? Если что то с миллионом таблиц и тривьюх то да, их куэмэльные компоненты появились совсем недавно и очень примитивны и ограниченны, хера с два сейчас там сделаешь колонки, сортировку по ним, редактирование полей и тому подобное, сделать скорее всего можно но сильно придется поебаться, а ради чего?

В остальном куэмэль удобнее виджетов раз в 10 и позволяет писать сложную логику используя кода на порядок меньше.
1011 2438098
>>38092
А оверхеда из-за этого никакого не будет разве?
>>38093
Да я хз, я и спрашиваю на что мне упор при изучении делать.
1012 2438101
>>38093

>хера с два сейчас там сделаешь колонки, сортировку по ним, редактирование полей и тому подобное,


Колонки просто делаются по полям, а не номерам, остальное все делается в модели на крестах. Ничего сложного. Ну нет редактирования искаропки, да, но ты всё равно сам интерфейс пилишь.
1013 2438102
>>38101
Ролям, блядь, не полям.
1014 2438107
>>38101
Я имел в виду заголовки колонок. Чтоб можно было кликнуть по нему и табличка сортировалась, по алфавиту или обратно... Всего этого там нет, и если впилить то кучей костылей, а какой нибудь QTableView будет уметь искаропки.
1015 2438110
>>38107
Можно послать сигнал в модель на сортировку так то.
Интересно, как qtableview отсортирует цвет или картинки.
1016 2438122
>>38092
Я б за такое уебал тебе.
1017 2438135
>>38122
Ты бы и собаку уебал.
15556159308800.png103 Кб, 736x736
1018 2438137
>>38004
strlen
1019 2438140
>>38004
Чем сама строка не хэш?
1020 2438142
1021 2438466
>>38140

> Чем сама строка не хэш?


Тем что у хеша размер должен быть фиксирован, не?
1022 2438503
>>38466
Чем подстрока длины n от ориг. строки дополненная рандомными символами если подстрока > ориг. строки не вариант?
1023 2438506
>>38503
Тем что "дополнена рандомными символами". Шиз, хеши должны быть повторяемы, ничего рандомного там быть не должно.
1024 2438508
>>38506
Значит брать подстроки столько, сколько будет нужно. Очень сложно?

>Шиз


Хрюкни
1025 2438549
Байтоёбы, а как собственно научиться так же ебаться? https://habr.com/ru/post/439698/
И миллион других примеров где из говна, палок и перекладывания битов получаются ебейшие проги. А то я сколько всего не перечитал/пересмотрел после таких статей и проектов кажется что ничего сложнее template <typename T> не знаю.
1026 2438552
>>38549
Там бесполезно читать и смотреть, надо задрачивать одни и те же алгоритмы.
1027 2438561
>>38549
А где там ебля, собственно?
1028 2438721
>>38549
Да хуйня в принципе. Лаба для студента.

По теме можешь почитать нетленку Graphic Gems или поищи аналоги посвежее.
1029 2438766
>>38004

>Самая лучшая


Лучших нет, зависит от размеров строк/чарсета, а дальше считать время и коллизии, в идеале их не должно быть.
1030 2438972
>>29059
>>12422

Блять, я понял. Используйте вообще везде где только можно wstirng и wchar_r. Char и стринг эта такая по сути легаси хуйня для однобайтовых кодировок, в которой накостылили поддержку мнимую поддержку UTF-8(только если в консоли это установлено будет), что пиздец. Вайд строки решают все проблемы.
1031 2438978
>>38972
Не решают, надо писать свои реализации строк.
1032 2438994
>>38972

> Блять, я понял. Используйте вообще везде где только можно wstirng и wchar_r


Говнище которое в линупсе 4 байта а в шинде 2, ахаха?
Как раз utf-16 это говно без задач, никакой гарантии что символ будет закодирован парой байт он не даёт и ничем не лучше utf-8 (но жрет больше места, плюс UTF-8 обратно совместим с ASCII).

Так что или utf-8, или utf-32 в редких случаях.
1033 2439018
>>38994
char8_t петушок закукарекал, спокуха, пердикс.
1034 2439096
>>38972
Обосрался в каждом предложении, что еще можно ожидать от крестотреда.
1035 2439310
4 детекта на вирустотале + микрософт дефендер, как исправить? я просто читаю реестр и изменяю байт в дллке и всё
1036 2439312
>>39310

> изменяю байт в дллке


Нихуя себе "и всё".
1037 2439335
>>39310
Можешь попробовать поставить сертификат поставить на файл. Как нибудь напишу инструкцию.
1038 2439383
>>39310
Шиндопроблемы
1039 2439930
У меня проблема не совсем относится к cpp но тут самые умные люди так что попробую.

При запуске только что скомпилированного .exe из cmd файла выдаёт ошибку пик 1. Но при этом просто запустив файл даблкликом всё работает нормально.

В чём проблема? Код ошибки не точный но намекает на какую-то проблема с библиотеками.

Вот видео для наглядности и makefile на всякие случай

Я не понял, а какой тред живой? Почему прошлый на 500 посте бросили?
1040 2439966
>>39930
Попробуй в батнике перед запуском экзешника зайти в папку bin, и запускай без префикса .\bin\

> Я не понял, а какой тред живой? Почему прошлый на 500 посте бросили?


Этот, потому что тред перекатывал залётный мимокрокодил, спешивший стать опом, чтобы запостить смешную картинку.
1041 2439974
>>39930
Не помню, но вроде в окнах библиотеки в текущей директории библиотеки ищет, а она у тебя выше на уровень, чем бинарник.
cd bin && ./output.exe
1042 2439980
>>39966
>>39974
Я кароче что-то делал делал и заработало, только я не понял что я сделал.
1043 2439987
>>39980
Аааа, я понял. Я положил 32 dll, и когда заменил на 64 то заработало. Только почему он компилировался - не понятно.
1044 2440106
>>39930
ноль, хуй соси, пять нулей, семь блядей
прекрасно
Аноним 1045 2440129
Почему нельзя сделать std::forward<T>(t) без <T>? Например, подставлять вместо T тип std::remove_reference<typeof(t)>::type или сделать специализации для всех возможных комбинаций const/неconst &/&& и всегда работать правильно, а не заставлять писать <T>.
1046 2440161
>>40129
Можно. Только ты проебешь то, что дает тебе universal reference, а именно корректную категорию выражения.
1047 2440163
>>37402
Берёш и без задней мысли кодируешь на срр
https://github.com/codecrafters-io/build-your-own-x
1048 2440177
>>37402

> Подкиньте мне идеи для пета


Напиши тулзу командлайновую которая будет искать пиры у торрента по DHT. Или клон скайпа - домелкомягкого, p2pшного
1049 2440182
>>40177

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


Мало одного DHT, дохуя торрентов работают через ебучие трекеры.
1050 2440185
>>40182
Хотя бы DHT, с трекерами все примерно ясно, а вот подебажить чего там эти пидорасы возвращают что в одних клиентах находится дохуя пиров а в других нихуя - было ь неплохо.
1051 2440224
>>40129
template<typename T>
T &&id(T &&x)
{
----return static_cast<T &&>(x);
}
По определению, std::forward<T>(x) == static_cast<T &&>(x).
Вот и попробуй изнутри forward-а, догадайся, что такое T && без указания того, что такое T.
Хуй получится.
1052 2440274
>>40163
О, а вот это уже выглядит как клондайк. Спасибо.
Аноним 1053 2440311
>>40224
Всё равно не понятно. Вот есть T x;
И T&&, и T можно получить из decltype(x). T получается из T&& отбрасыванием &&. Зачем заставлять программиста писать <T>, если эту информацию можно получить из x?
А если нельзя, то можешь привести контрпример с вызывающей и вызываемой функцией?
Аноним 1054 2440312
>>40161
Почему правильная категория проебётся? Ведь при выборе специализации шаблона компилятор обязан выбрать наиболее подходящую, а значит при наличии & и && выберёт то, что надо, разне нет?
1055 2440362
На собесе на джуна в яндексе будут спрашивать 17 и 20 стандарты?
1056 2440388
Вот у меня есть шаблон метода:
// R и Args - типы специализации шаблона класса, в котором этот метод определён
template <
auto Fn,
typename T,
typename = std::enable_if_t<
std::is_invocable_r_v<R, decltype(Fn), T*, Args...> &&
std::is_standard_layout_v<T> &&
std::is_trivially_destructible_v<T> &&
(sizeof(T) <= Foo<R(Args...)>::kValueSizeMax)>>
void Insert(uint32_t key, const T& value) {
...
}
С самим методом всё в порядке - он компилируется только с подходящими типами. Проблема в том, что сообщение об ошибке в случае слишком большого типа явно не говорит о том, что проблема в sizeof(T).
Пробовал сунуть внутрь функции
static_assert(sizeof(T> <= kValueSizeMax, "Type is too big.");
Но, почему-то, MSVC на этот static_assert пох.
Как-то можно в данном случае на этапе компиляции сообщить о том, что проблема в размере типа?
1057 2440431
Аноны, а как мне загрузить в ОЗУ допустим exe файл и запустить его из ОЗУ?
1058 2440435
>>40362
там говноалгоритмы и азы спрашивают. С++1488 никто не спрашивает
1059 2440438
>>40431
system()
Операционная система всё сделает за тебя.
1060 2440441
>>40431
любой запускаемый файл находится в ОЗУ, как не крути.

Если у тебя какие-то шизозадачи, типа ускорения запуска софтины на 0.01мс - либо рамдиск в линуксе, а в винде префетчер за тебя все сделает.

Ну а если ты совсем шиз - можешь сначала файл ммапнуть, прочитать (он останется в кэше ФС), а потом запустить
1061 2440453
>>40311
Когда делаешь forward аргумента шаблонной функции, аргумент этот у тебя не T x, а обязательно T &&x, иначе его нельзя форварднуть -- теряешь какие-то варианты. Это то, что выше назвали universal reference. Так вот, тип T сам может оказаться ссылкой -- передаёшь int const &, T = int const &, T && = int const & && = int const &. Но это ещё цветочки. Передай int &&, тогда T = int и казалось бы, всё зашибись. А вот хуй, любое упоминание переменной x в твоей функции будет себя вести так, будто х это int &, и его надо дополнительно прикастовать к T &&, чтоб он передался дальше как int &&. Ну а дальше как я и сказал, хуй ты без T кастанёшь нормально к T &&, если T может оказаться ссылкой.
Короче, держи, поиграйся. https://gcc.godbolt.org/z/sd7rqh3d6
1062 2440593
Байтошизы, хули вы не перекатываете?
1063 2440603
>>37880
Вангую он это и имеет ввиду, и хочет выбрать что именно писать, чтобы на работу взяли со знанием условной libraryName
1064 2440615
>>40593
Перекати.
1065 2440789
Нигде не нашел инфы про fstream
Что из себя представляют объекты std::ifstream и std::оfstream? Хранят ли они файл целиком в оперативной памяти? Буфер, поток ввода-вывода что это в физическом смысле, а не в абстрактом, где конкретно они находятся? Что конкретно делает flush(), а что делает .close()? Как мне освобождать ту часть файла, которая мне в больше программе не нужна?
Например я средствами С++ попытался скопировать несколько фильмов по 500 мегабайт в разных потоках, но времени это заняло порядочно, из-за того, что памяти не хватало. Посмотрите на код, я ведь делаю хуйню, копируя файл по кусочкам? Просто когда я тестировал время кода, у меня так получилось вроде бы быстрее, но потом я понял, что есть какое-то кеширование и не все так однозначно. Как мне сделать, чтобы при каждом копировании кусочка, уже скопированная часть как-то освобождалась бы из памяти. Вы не представляете, я гуглил, никто нихуя не знает, на английском даже какая-то абстрактная хуита, вместо конкретики.
CRTP Virtual 1066 2440834
А чем так плох CRTP? Я недавно узнал и ахуел. Это же ебейшая штука, можно использовать полиморфизм там, где он запрещен, например в kernel-коде SYCL.

И вообще, против динамического полиморфизма. Чому нет?
1067 2440843
>>40789
Пчел, начни с базы. У тебя на каждой итерации выделяется и удаляется в куче блок памяти. Вынеси make_shared за пределы цикла. Из неочевидного - ты взял размер CHUNK с потолка. Оптимального значения тебе никто не скажет - зависит от файловой системы и кэшей процессора и hdd (но в пределах размера L2 кэша и что-то кратное 4кб - 16 или 32).
Всё остальное - тупо реализация библиотеки std и под капотом может быть всё что угодно. Хочешь скорости и понимания происходящего - пиши в стиле C.
1068 2440845
>>40834
Решил стать БЕЗНОГNМ?
1069 2440846
>>40834
Объясни ньюфагу ка кон работает?
1070 2440857
>>40846
template<class T>
class ZalupaBase
{
static_assert(!std::is_arithmetic_v<T>);// тип T должно быть классом/структурой!

ZalupaBase() = default;

void FooCall()
{
(static_cast<const T*>(this))->DerivedCall();
//вместо вызова виртуальной функции и генерации таблицы таких функций, просто вызываем функцию.
}

};

class ZalupaDerived : public ZalupaBase<ZalupaDerived>
{

ZalupaBase() = default;
void DerivedCall()
{
std::printf("%s, "Абу пидор");
}
};

int main ( )
{
ZalupaDerived zalupa{};
zalupa->FooCall();
}
1070 2440857
>>40846
template<class T>
class ZalupaBase
{
static_assert(!std::is_arithmetic_v<T>);// тип T должно быть классом/структурой!

ZalupaBase() = default;

void FooCall()
{
(static_cast<const T*>(this))->DerivedCall();
//вместо вызова виртуальной функции и генерации таблицы таких функций, просто вызываем функцию.
}

};

class ZalupaDerived : public ZalupaBase<ZalupaDerived>
{

ZalupaBase() = default;
void DerivedCall()
{
std::printf("%s, "Абу пидор");
}
};

int main ( )
{
ZalupaDerived zalupa{};
zalupa->FooCall();
}
1071 2440858
>>40834

> Чому нет?


Без deducing this не нужен. К счастью его уже завезли в MSVC.
Screenshot from 2022-08-20 16-29-50.png90 Кб, 577x978
1072 2440862
Читаю этого вашего Александреску, и там инициализация массива std::type_info "is left as en exercise for the reader". Я придумал вот так. Все взлетело. Аутпут:

>c


>i


>l


Реквестирую критику.
1073 2440865
Вообще, охуенная тема это метапрограммирование. Как раз для лиспоебов годная фича. И способ достижения цели знакомый, и результат приятный для любителя баловать себя всякими DSL-ами.
1074 2441015
>>40865

>Вообще, охуенная тема это метапрограммирование.


Зачем оно нужно?
1075 2441018
>>41015
Не нужно, хуйня без задач.
1076 2441097
>>40865
>>41018
2 гендера
1077 2441191
E L E C T R O N
E
L
E
C
T
R
O
N
1078 2441218
>>41191
Зачем электрон в драйвере для сетевого адаптера? А гуй нормальные люди на крестах не пишут.
1079 2441232
>>41218

> гуй нормальные люди на крестах не пишут


А на чём его ещё писать, чтоб было быстро?
1080 2441248
>>41232
На шарпе или веб. Гуй на плюсах нужен в 1% случаев, если у тебя реально сложный проект с кучей вычислений типа САПР или фотошопа, причём по какой-то причине нельзя вычисления вынести в отдельные нативные DLL-ки.
1081 2441261
>>41248

> На шарпе


Говно с кучей зависимостей, запускается долго, жрёт ОЗУ, надо верстать ебучий XML.

> веб


> вычисления вынести в отдельные нативные DLL-ки


JS с крестами на WASM вообще не вяжется, все существующие реализации ffi медленнее питона, разве что электрон ещё терпимый. Да и сам веб та ещё тормозная параша с кучей дерьма "для безопасности". PWA было неплохой идеей, но как обычно навтыкали ограничений до состояния неюзабельности.
1082 2441262
>>41232
На чем блять угодно, только не на С++
Screenshot20220821-014240Chrome.jpg198 Кб, 719x464
1083 2441308

>создали 1488 различных вариации строк имеющих никаких задач


Ебало с -Wchar-warning-error-zapula-lupa скомпилировали?
1084 2441311
>>41308

> -Wchar-warning-error-zapula-lupa


Этой хуйни нет в стандарте, так что надо придумывать костыли на уровне языка.
1085 2441351
>>40862

>TYPELIST_1488


Забудь нахуй про эту анальную имитацию вариабельности из с++98. Ну только если для учебных целей но все равно нахуй
1086 2441400
Кстати, vs код же на электроне, а работает быстро, чому так?
1087 2441417
>>41400
Потому что всё что можно на wasm написано. Электрон там только для красивого гуя.
1088 2441463
>>41417

> на wasm


Шизик или правду глаголишь? Почему не на плюсах или winapi?
1089 2441701
>>41400

>а работает быстро


Ты его использовал?
1090 2441720
>>41351
Ну вот кстати да, по идее с параметр-паками из ++11 это можно как-то и без повторяющихся макросов сделать.
1091 2441885
вопрос на счёт ловли исключений.
Пусть у меня есть блок try{}catch(), в котором вызывается множество функций, которые в свою очередь вызывают ещё функции и т.д. try охватывает только исключения брошенные на первом уровне? То есть, в функциях, вызванных непосредственно в блоке try? Чтобы ловить более "глубокие" исключения мне нужно в функциях первого уровня также делать блок try{}catch, чтобы передать их на нулевой уровень? и также во всех уровнях?
1092 2441906
>>41885
Что за дичь лютую ты несёшь?
1093 2441917
>>41906
читать не умеешь?
1094 2441991
>>41885
нет
1095 2442033
>>41885
Пусть у тебя есть N функций func_i
Исключения ты ловишь только в функции func_1.
func_1 вызывает func_2, которая вызывает func_3, которая вызывает func_4 и так далее вплоть до func_N, которая бросает исключение.
И func_1 его поймает.
Ещё ты можешь его поймать, обработать и перебросить ещё выше
1096 2442082
Как можно несколько опциональных параметров передать в функцию? Кроме строки что? Они не обязательно подряд идут
1097 2442088
>>42082
std::map
1098 2442093
>>42082
std::optional?
1099 2442101
Ладно, похуй строчка ITEM1=VALUE1 .... ITEMN=VALUEN самое годное.
1100 2442122
>>42101
Но немного тупо, что сначала идут обязательные параметры как просто строки-аргументы, а потом одна большая со опциональными. Я просто думаю, не будет ли это выглядеть тупо, что пользователю потому придется ручками пробелы в строки вставлять
1101 2442126
А ещё я сосу хуи.
1102 2442198
>>42126
И как? Тоже думаю вкатиться.
.jpg44 Кб, 603x604
1103 2442218
>>42198
Вначале неприятно и мало с этого имеешь, потом привыкаешь и постепенно продвигаешься, конкуренция нулевая почти.
1104 2442240
Я в первый раз с такой хуйней столкнулся. Пишу либу для более удобного использования API большого проекта. Мне сейчас понадобилось использовать кое какие утилиты из этого самого проекта. Исходники есть, но для маленькой хуйни 100500 зависимостей. Можно ли ее как то скомпилить, а потом юзать в моем проекте. Тащемта она просто очень компилируется, но получается исполняемый файл, а мне бы что то более удобное... Реально ли это вообще? Мб можно шо то типо dll сделать, не?
1105 2442243
>>42240
Хочется как то дергать утилиту как функцию почти.
1106 2442245
>>42240
Ну ёпт, ставишь в сmake SHARED, компилишь, инклудишь скомиленное и радуешься життю
image.png373 Кб, 1920x1018
1107 2442255
существует ли что то лучше вижуал студио?
какая же все таки это пиздатая среда разработки
1108 2442263
>>42255
Нет ничего лучше вижуалстудии, я бы её и на работе юзал, но она не поддерживает жабу.
1109 2442266
>>42255
>>42263
Ебилдами поделитесь, успешные?
1110 2442269
>>42266
Какими ебилдами, студия для винды только. Но мне как счастливому пользователю винды похуй.
1111 2442313
>>42245
Все, отбой. Нашел способ обойти эту дрочь
1112 2442357
>>42255

> существует ли что то лучше вижуал студио?


> какая же все таки это пиздатая среда разработки


Очевидный креатор.
1113 2442373
>>42255
Только вижуал студия с решарпером
1114 2442401
>>42266
тебе время на хуйню проебывать или на С++ писать?

Если второе - то ставишь операционную систему и на нее вижуал студию
1115 2442406
>>42401
За 20 минут накатил арч и пишу на С++ без проблем. А у тебя как дела? Условный буст без мозгоебли установить сможешь или в каждый проект локально будешь пихать?
1116 2442407
>>42406
vcpkg install boost уже как года 3
1117 2442409
>>42407

>уже как года 3


Огооооо...
1118 2442412
>>42406

> За 20 минут накатил арч


Чулочки одел, баттплаг засунул?
1119 2442419
>>42412
Ищи js тред ниже
image.png98 Кб, 911x806
1120 2442430
>>42419
Не, пидрон, я по адресу
1121 2442436
>>42430
Не забывай держать меня в курсе, быдло
image.png195 Кб, 640x609
1122 2442440
>>42436
Петушку неприятно.
1123 2442684
>>42255

>существует ли что то лучше вижуал студио?


Все уже давно придумано.
1124 2442860
>>42684
тебя нахуй послать или нахуй послать?
1125 2442861
>>42684
Мы про среду разработки говорим, а не про текстовый редактор
image.png1,2 Мб, 1024x768
1126 2442877
1127 2442895
Привет, анон!
Очередной вкатыш с очередными тупыми вопросами.
Решил вкатиться в плюсы, не работы ради, а хобби для. Можешь посоветовать годные книги по алгоритмам, паттернам, основам ОС и т.д., которые ты сам читал и тебе зашли. Ибо что толку от этого синтаксиса, если я его толком применить не смогу? Бесконечные хэлловорлды писать? Или все книги, упомянутые в соседних тредах достойны чтения и просто поочереди беру и читаю?
1128 2442913
>>42895

>хобби


>не могу придумать чем заняться


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

>алгоритмы, паттерны, ос


это вообще не про язык программирования
1129 2443075
На основании чего устанавливается принадлежность двух объектов к одному классу?
1130 2443094
>>43075
typeid(), is_base_of<>(), dynamic_cast<>()
1131 2443097
>>42913

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


Тебе не всё ли равно как проёбывает своё время какой-то рандом?

>это вообще не про язык программирования


Ты хочешь сказать, что прочитай я условного Страуструпа, то всё, могу писать конкурента unreal engine, к примеру?
1132 2443130
>>42895
Чел.. я начал учить кресты лет двадцать назад и до сих пор их не до конца знаю. Каждый год ты прочитаешь новую книгу и узнаешь как на крестах делать монады, умные итераторы, ещё какую-нибудь ебанаю хуйню, от какой ты охреневаешь и впадаешь в катарсис. Это пиздец.
1133 2443139
>>43094
Плохо я вопрос сформулировал.

Интересуют не конкретные средства языка, а ход мысли программиста в процессе проектирования.
1134 2443350
Кто тут что-то говорил что qml тяжёлый?

>The contents of a widget-based window and a window showing a Qt Quick scene are rendered in a quite different way: the latter relies on 3D graphics APIs (*), such as OpenGL, Vulkan, Metal, or Direct 3D, whereas a widget-based user interface is rendered using QPainter and then blitted to the native window by windowing system specific means, for example, either BitBlt or UpdateLayeredWindowIndirect in the case of Windows.

1135 2443380
>>43350
Будто тяжесть зависит только от способа рендеринга.
1136 2443408
Перечисления и структуры помещают в заголовочный файл и нужно ли их дублировать в cpp файле?
1137 2443454
>>43408
Где удобно там и клади, дублировать не надо.
1138 2443484
>>43130
Что такое монады? И зачем нужны?
1139 2443487
>>43408
Зачем? Когда ты фигачишь #include препроцессор тупо берет и втупую копипастит на его место содержимое файлика.
1140 2443531
>>43454
>>43487
Большое спасибо
С++ 1141 2443532
Я уже около полумесяца занимаюсь сипп часов по 5-8 в день.
Смотрю ролики. Читаю книги.
И знаете, вроде бы что-то откладывается в голове. Классы, объекты, методы, поля, функции, указатели.
Но я вообще не представляю что практичного можно сделать со всем этим, кроме говно-хуйни какой-нибудь в коснольке, ну или говно-подсчета какой нибудь математической формулы.

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

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

В общем буду рад ответу конструктивному.
1142 2443541
>>43532

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


Пару лет минимум. Или ты думаешь самый хитрожопый и за два месяца станешь хотя бы джуном?
1143 2443547
>>43541
Ну, я честно сомневаюсь, что много людей действительно готовы тратить много времени на обучение.
Большинство либо в вузах спят, либо по пару часиков в день трудятся.

А у меня ирл есть пример, как человек за лето выучил змеюку, устроился сразу на ахуенную зп (в районе 80) и сейчас, как раз через два года у него уже за 200 зп.
У человека никакой базы не было, только инженерное образование, но он был ускрден.
1144 2443550
>>43541
Так что отвечая на вопрос кратко - да, надеюсь.
1145 2443556
>>43547

> Большинство либо в вузах спят, либо по пару часиков в день трудятся.


Так такие потом и идут в Мак Вкус очка работать после вуза. Ты определись, тебе знания нужны или видимость получения этих знаний? Если первое, то я тебе уже написал сколько времени надо.
>>43550
Опять же, тебе знания нужны или устроиться в самую донную контору чтоб говнокодить за еду? "В нормальный программный продукт" ты точно не сможешь, если по такому пути пойдешь.
1146 2443561
>>43556
Мне нужно стать профессиональным программистом.
А чтобы им стать - нужно устроиться работать кодером. А чтобы устроиться работать кодером - нужно уметь выполнять, к примеру, прикладные задачи.
Об этом я и спрашивал.
А по поводу "нормального пп", то тут можно дискуссию разводить часами. Кто-то вообще скажет, что половина программ на рынке это говно и по большому счёту нормальный программный продукт делают только мудрецы сеньоры и то один раз за свою жизнь.
1147 2443565
>>43561

> чтобы им стать - нужно устроиться работать кодером


Только в твоих фантазиях только. Без нормальных знаний сможешь только на завод устроиться и будешь через 20 лет заводчанином с пивным пузом, неспособным накодить что-либо за пределами своего заводского опыта.
1148 2443569
>>43565
Я тебе только что выше написал, что у меня ирл пример, как человек за лето набрал знаний на джуна-кодера.
А ты продолжаешь гнуть линию свою.
1149 2443576
>>43561
#define прикладные задачи
1150 2443578
>>43576
Ваау спасиибо.
Я так понимаю все серьёзные ребята заняты на работе, ладно зайду вечерком.
1151 2443580
>>43578
За что спасибо, дядь? Ты на вопрос мне ответишь? Что есть прикладные задачи в плюсах? Вот я стл знаю, с бинарниками работал, шаблоны, мультипоток все дела. Это прикладные задачи?
1152 2443582
>>43580
Прикладные задачи это просто пример.
Изначально вопрос про "нормальный программный продукт" - а это то, за что платят.
Ответил?
1153 2443585
>>43582

>Прикладные задачи это просто пример.


Пример чего?
1154 2443587
>>43585
Пример того, за что тебе платят будучи кодером.
За решение прикладных задач, например.
1155 2443588
>>43587
Что есть прикладные задачи?
1156 2443592
>>43588
Степан Трофимыч, вы?
Я уже получил свой диплом вроде.
Ну ладно, вот тебе определение прикладной задачи:
Прикладная задача - это задача, поставленная вне математики и решаемая математическими средствами [4]; когда в какой-нибудь области науки (не математики), техники или практической деятельности возникает задача, она не является математической по своему содержанию.
1157 2443593
>>43592
Вроде и диплом получил, а мышление всё равно как у ребёнка.
1158 2443695
>>43532

> Это нормально? Сколько мне нужно времени, прежде чем я смогу в нормальный программный продукт?


Теперь учишь Qt и ебашишь программные продукты.
1159 2443697
Нахуя писать гуи на плюсах?
1160 2443700
>>43697
Или нахуй блять со своим шарпоэлектроном.
1161 2443706
>>43697
????
Чем тебя тот же имгуй не устроил
1162 2443712
>>43532
Чтобы делать программные продукты нужно блять делать программные продукты. Берешь и делаешь. Сначала получаются ненормальные, но походу дела набиваешь шишки. Сперва сам, потом тебя будут тыкать в них ебалом на кодревью.
1163 2443719
>>43561

> Мне нужно стать профессиональным программистом.


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


Чтобы устроиться кодером - нужно блять устроиться кодером. То есть пройти собеседование, брутфорсом. А в первое время на тебе все равно сложных задач не будет, даже если ты не ждун и тем более не стажёр - все равно будет стартовое время на погружение, и скорее всего поначалу будешь сидеть на багфиксе и по большей части код читать, а не писать, а фиксом нередко будет вообще одна строчка кода.

Короче если писать научился и базу знаешь - гугли вопросы для собеседований и пиздуй проходить. На нескольких обосрешься - будешь знать чё нужно подтянуть.
1164 2443722
>>43719

> сидеть на багфиксе


Ну ты смешной, чтобы багфиксить, надо хорошо знать проект.
1165 2443723
>>43697

> Нахуя писать гуи на плюсах?


Чтоб гуи не тормозил. Если бекендоговну тормозить позволительно, то вот с гуем если не будет отзывчивости у пользователя жопа сгорит, и он будет прав.
1166 2443724
>>43722

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


Именно. Вот для погружения в проект сперва на багофикс и сажают.
1167 2443725
>>43724
То есть время на фикс бага не ограничено??
1168 2443729
>>43725
В целом да. То есть оно ограничено здравым смыслом а не жёстким порогом. Ведь суть то не чтобы ты баг пофиксил (раз он висит в трекере и еще никому не назначен и его дают джуну, значит он не такой важный и срочный) а как раз чтобы в поисках какого хуя там не работает и как его фиксить ты и погружался в проект.

Те которые критические и нужно из закрыть вотблятьпиздецсрочно - тебе сразу не дадут.
1169 2443740
>>43722
баги разные бывают. Первое время будут давать всякую хуйню, ограниченную одним\двумя файлами, до которой просто ни у кого руки не дошли
1170 2443811
>>43700
Электрон теперь на шарпе?

>>43706
Ну прикрутить к чему то простенькую менюшеу конечно классно, но нормальный гуи на нем делать это попаболь

>>43723
А чему собственно в гуях тормозить, там же нет никаких тяжёлых вычислений и нагруженности
image.png198 Кб, 500x836
1171 2443934
>>42877
>>42861
>>42860
Ебало неосиляторов представили?
1172 2443942
>>43532
cppreference.com
Напиши тетрис, что бы все названия классов были осмысленные и имитировали стандартную библиотеку по поведению.
1173 2443960
>>43934
ебало говноеда из семидесятых у тебя на пикриле
1174 2443961
>>43811
Чел, тормоза это необязательно тяжёлые вычисления и нагруженность, тормоза это отзывчивость, точнее ее отсутствие.
Самое первое что приходит в голову - во всяких жсах нет нормальных структурок и типов которые хорошо бы ложились на аппаратную архитектуру, там все будет через дохулион абстракций, во вторых сборщик мусора, виртуалочка с байткодом, какая нибудь тормозная отрисовка - вот тормоза и набежали.
1175 2443962
>>43960

> из семидесятых


Что изменилось в работе с текстом с тех пор?
1176 2443964
>>43962
Всего лишь появились IDE.
1177 2443967
>>43962
Код это нечто большее чем просто текст, текст это его своего рода "физический уровень"
1178 2443972
>>43962
то, что у тебя мощности в десятки тысяч раз больше, есть современные инструменты (а не палка-копалка), и само программирование на порядки сложнее.

Если ты пишешь текст - пиши, я пишу сложные проекты. Так что неосилятор тут ты.
1179 2443989
>>43972
>>43967
>>43964
Бля, а вы вообще за пределы CLion/MSVS не выходили, да? Вроде бы тред не самого простого языка, должны не совсем тупоголовые с синдромом туннельного зрения сидеть...
1180 2443994
>>43989
Расскажи - зачем? Ты сейчас мне предлагаешь выйти из майбаха и сесть за проперженную полуразвалившуюся шестерку, зато в ней можно все ПОДСЕБЯ сделать. Только это все равно будет полуразваливашаяся шестерка.
1181 2444000
>>43989
C++ - необходимость, а VIM - страдание ради страданий.
1182 2444008
>>43994

>C++


>макбук

1183 2444010
>>44008
чо? какой макбук?

У меня хорошая виндовая пека для разработки
image.png235 Кб, 650x650
1184 2444020
>>44010

>виндовая


>для разработки

1185 2444024
>>44020
Чел, я пишу проекты на работе, а не трачу свое время на хуйню.
На еженедельном 1:1 я рассказываю что я закоммитил,а не "ебался с уже решенными проблемами всю неделю"
1186 2444025
>>44020
Надо было линуксовую пеку покупать, а то эту только выбрасывать.
1187 2444031
>>44024

>пишу проекты на работе


>трачу свое время на хуйню


Ну ты понял.
1188 2444034
>>44031
ну мне за это платят в районе 450к рублей в месяц на руки. А тебе за твою гомоеблю с луниксом?

Или ты элита с пенсией по шизе?
1189 2444037
>>44034

> ну мне за это платят в районе 450к рублей в месяц на руки


Показать пачку денех с супом а не скриншот в фотошопе у тебя конечно же не выйдет, мамкин фантазер?
1190 2444038
>>44034

>Или ты элита с пенсией по шизе?


Лучше, я сдаю две квартиры в ДС, а сам живу в мухосранском миллионнике, правда на квартиры пришлось повьебывать в свое время.
1191 2444041
>>44037
Какая пачка денег в 2022 году, ты рофлишь да?

Я в /b как-то запостил 190 килобаксов налом с супом - там были вопли смешные от "ПОЛОЖИ БАТИНУ ЗАНАЧКУ НА МЕСТО" до "ОТЛИЧНАЯ ПАЧКА БАНКА ПРИКОЛОВ" купил хату в ДС на них, еблан. За 3 месяца до пынявойны

Любой скрин с ЗП могу прислать на твой выбор

>>44038
кайф, у меня только одна пока, и то строится. Но если ее сдавать (в районе 90к примерно оно будет, судя по достроенным в соседних домах) - мне на нормальную жизнь не хватит даже близко.
1192 2444062
>>43487

> Зачем? Когда ты фигачишь #include


> C++20 на дворе

1193 2444063
>>44062

> C++20 на дворе


> Internal compiler error на каждый чих сложнее экспорта 3.5 функций

1194 2444064
>>44062
C++20 чё, как то убирает его сишные корни и выкидывает его сильный препроцессор, или чё?
1195 2444065
>>44062
На дворе C++20, а в проекте C++03.
1196 2444067
>>44064
Ничего он не выкидывает, про обратную совместимость слыхал? Добавили модули.
1197 2444068
>>44065
Соболезную. Ладно ещё 11, но 03 это пиздец.
1198 2444070
>>44067
А там можно уже хотя бы стандартной библиотекой пользоваться полностью без инклудов и дефайнов, не говоря уже о сторонних?
1199 2444073
>>44070
Нет конечно, это ж кресты. Жди в C++35.
1200 2444074
>>44073
в С++23 будет, обещали стандартизировать, да и поддержку модулей допилят. Я игрался со студийными - ну, оно правда работало на моих примерах, но import std; намертво все ложило.
1201 2444197
Какие строки использовать мне для кроссплатформенности(GNU/Linux, Windows там) и поддержки языков во всем мире(японский и т.д.)? Для меня еще важно чтоб я получал аргументы командной строки в юникоде.
wstring?
string?
u32string
u16string?
1202 2444201
>>44197
qstring и qtlinguist
1203 2444203
>>44197
другой язык программирования, С++ и юникод это анальная жопоебля имени Геннадия Ивановича Пердачевского
1204 2444235
>>44197
Аргументы командной строки ты в любом случае получаешь в char, и про кодировку нихера не знаешь. А вообще, наверное использовать для них не ASCII - скорее всего моветон, я сходу не могу вспомнить ни одной утилиты где это было бы не так.
1205 2444280
>>44197

>Какие строки использовать мне для кроссплатформенности(GNU/Linux, Windows там) и поддержки языков во всем мире(японский и т.д.)?



Ищи сторонние либы, но вообще работа со строками в С++ это не работа, а струя поноса в лицо.
1206 2444281
>>44197
Пиши свои строки.
1207 2444301
Парни, почему в указатель на uint8_t, не получается положить числовое значение?
1208 2444303
>>44301
Какое числовое значение? Там должен быть адрес.
image.png9 Кб, 252x153
1209 2444306
>>44303
Да, вы правы, затупил. То есть, чтобы передать указатель, нужно написать что то типо такого?
1210 2444338
>>44306
Да, либо просто GetDllType(&mya);
1211 2444358
>>44338
Спасибо
1212 2444545
что почитать про создании dll библиотек в win и so в linux? Чтобы загружать во время выполнения программы
1213 2444565
>>44545
Почитать про флаги компилятора. Там разница минимальная.
1214 2444790
Как распараллелить recursive_directory_iterator?
1215 2444793
>>44565
Ну вообще то нет, ты имена библиотек и подгружаемые символы и в рантайме указывать.
1216 2444794
>>44793
Можешь
1217 2444852
Каково мнение треда в вопросе гцц вс кланг?
гуглить пытался, но там как то спороно и про старые версии, да и нужно мнение увожаемых экспертов
1218 2444881
>>44852
Похуй+похуй. Но в гсс отрубай всякие расширения
1219 2444986
I'm absolutely H-I-V positive that C++ is the programming language of the future.
1220 2445030
Я знаю, что из функции никогда мувать возвращаемое значение не надо, потому что так оптимальнее. А если у меня в колбек передается параметр, то как лучше? Вроде мувать, но вдруг там хитрые оптимизации есть
1221 2445038
Чет у меня хуйня. Куча коллбеков, надо проеврять ошибки, в итоге у меня есть места где подряд 10 строк одинаковых идут, где ошибка кидается дальше, скипая промежуточные функции
1573307424435.mp4496 Кб, mp4,
640x360, 0:08
1222 2445040
>>45030

> хитрые оптимизации есть

1223 2445044
>>45030
Чё? Нихуя не понял.
1224 2445046
>>45044
Ну типо если у тебя функция возвращает строку, то никогда не надо писать return std::move(s). Так только хуже будет. Компилятор может иногда вообще не мувать, не копировать, а сразу на месте создать нужный объект.
1225 2445055
>>45046
std::move() это статический каст к rvalue, а возвращаемое значение из функции это почти всегда rvalue
Вот поэтому оно и не имеет смысла.
1226 2445063
>>45055
Не только. Я же написал причину выше
1227 2445066
>>45063
Приведи пример кода, иллюстрирующий, что ты имеешь в виду
1228 2445081
>>45066
Извини, мне лень лекции читать. Без тролинга и пренебрежения, мне просто лень. Сам погугли, если интересно. Это к моему вопросу уже не относится
1229 2445087
>>45081

> Не только. Я же написал причину выше


> Приведи пример кода


> Извини, мне лень лекции читать. <...> Это к моему вопросу уже не относится


Ты шиз что-ли?
1230 2445088
>>45087
Кто знает, тот поймет о чем я. Новых пояснений не нужно
1231 2445089
>>45087
То есть тут >>45046 вполне понятно о чем я
1232 2445093
>>45089
У тебя в одном месте возвращается значение из функции, а в другом месте передается параметр в коллбек
Ты ведь понимаешь, что это разные вещи?
1233 2445099
>>45093
А извини, я подумал, что нужно пояснение к возврату. Прошу прощения. Мой пример простой. Я вызываю функцию f, которая когда нибудь потом, как появятся данные, считает оттуда строку, да кинет мне в переданный коллбек ее. Внутри функции кажется логичным написать callbackfunc(std::move(s)), но вдруг там тоже есть какие нибудь такие оптимизации, и в случае, если чтение не удалось я могу писать без мува, просто в колбеке объявление временного объекта и он не будет копироваться/муваться, а сразу там сделается
1234 2445101
>>45099
Колбек надо писать с мувом. А вообще блять все пиши с мувом, где он не нужен тебе просто компилятор ворнинг кинет.
1235 2445106
>>45101
спс
1236 2445152
>>45030
Если ты прям щас не пишешь какой-то адовый бэкенд супернагруженный для яндекса или озона - даже не думай о такой хуйне как "хитрые оптимизации", и пиши корректный код, в котором ты полностью уверен
1237 2445184
Как мне программировать на работе и не отвлекаться на ютубчик двачик и вк? Вот соберусь с мыслями сяду начну выдавливать из себя код, но патом минут через 10 тянусь открыть вкладку. Как заставлять себя?
1238 2445192
Значит метапрограммирование это всего лишь шаблоны и программирование над типами. А как называется программирование, когда программа в рантайме меняет свой исходник или бинарник?
1239 2445204
>>45184
Зачем заставлять? Если в сроки укладываешься - ну и залипай себе. А если не укладываешься - то необходимость не огрести пиздюлин заставит.
1240 2445206
>>45192

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


А как она может в рантайме чего то менять если там ридонли?
1241 2445213
>>45206
Вопрос некорректный, может или не может, это другой вопрос, технические трудности. Ну например, делает копию, потом пр перезапуске старую версию в архив, сравнивает результаты работы в новой версии, делает на основании этого какие-то выводы.
1242 2445246
>>45204
ну вот ко мне зашли недавно сказали ускоряться, ну мне конкретных сроков не называли, сказали к началу сентября. Ну мне просто надо научиться как то не отвлекаться, от думанья. Если честно так заебало программировать, хоть я всего пол года программистом работаю, и особо много не накодил, но чето уже так настоебенило вот это все.
1243 2445248
>>45246
лол
1244 2445282
>>38972

>wstirng


>2 байта на символ


>UTF-8


Хуй с ними с символами, для которых хватает одного байта, но как в этой хуйне будут храниться трёхбайтовые символы?

> Char и стринг эта такая по сути легаси хуйня для однобайтовых кодировок, в которой накостылили поддержку мнимую поддержку UTF-8


Шизоид, ты вообще знаешь, что такое UTF-8?
1245 2445304
>>45213
рефлексия называется
image.png67 Кб, 918x650
1246 2445328
вот этот пидор возвращает копию вектора или ссылку на него?
1247 2445329
>>45328
rvalue возвращает
1249 2445364
>>45337
И еще cope elision
1250 2445387
>>45337
как же там воняет
1251 2445394
>>45328

> вот этот пидор возвращает копию вектора или ссылку на него?


Сам вектор оно возвращает.
1252 2445660
>>45328
Nrvo, пидор, сам вектор и возвращается.
1253 2445892
Мне надо в окошке рисовать квадратики которые можно скроллить, на каждом квадратике будет номер, и квадратик с нужным номером всегда должен быть по середине окошка, и я чето вообще не представляю как это сделать. И они должны плавно скроллиться, типо если я выберу квадратик номер 3.5, то это значит что по центру будет квадратик под номером 3, но смещенный на пол квадратика влево, как бы промотанный на пол квадрата.
1254 2445896
>>45892
Я нихуя не понял, но в любом случае тебе нужен qml
1255 2445906
>>45896
Два чая
1256 2445927
>>45896
QML не вариант, некогда изучать примудрости, да и придется использовать просто виджеты, а у меня чето не получилось использовать и виджеты и qml виджеты одновременно
1257 2445933
>>45927

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


Ну и наворачивай говнецо

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


Руки из жопы потому что. В твоем случае виджеты не нужны, но вообще никаких проблем миксовать qml и виджеты неь
1258 2445935
>>45933
У меня 1000 ошибок вылезло когда я попытался замиксовать

Ну и буду наворачивать дальше
1259 2445938
У меня самая главная проблема в том что бы понять с какого квадратика мне рисовать начинать, так как я не хочу все 2000 квадратиков рисовать, а хочу только те которые помещаются в окошко
1260 2445943
А ещё я сосу хуи.
1261 2445945
>>45943
я тоже
1262 2445951
>>45938
Так нарисуй только те что помещаются, и только цифры меняй и смещение немного. Я так как то бесконечную шкалу имитировал. На qml.
1263 2445958
>>45951
В этом то и проблема, я кое как наговнокодил, тут оно рисуется но криво, я хочу более правильно сделать, вот второй день не могу додуматься до алгоритма. Я даже не знаю как объяснить, что я хочу от алгоритма к которому стремлюсь.
1264 2445979
>>45958
Как ты собрался что то написать если ты не знаешь что хочешь получить?
1265 2445983
>>45979
Это я не знаю как тебе описать алгоритм какой я хочу, я то знаю что я хочу получить, хочу что бы квадратики перемещались и код хоть чуть чуть по уебански не выглядел.
1266 2445990
>>45983
"Квадратики" и линейка бесконечны? То есть у тебя просто полоса с текстурой квадратиков а при скроллинге цифрой отображается координата?
image.png1 Кб, 241x163
1267 2446019
>>45990
количество квадратиков ограниченно, при скроллинге, едут квадратики в зависимости от выбранной координаты выбирают нужное место на линейке. Дело в том что я квадратик могу рисовать только полностью. Надо как то узнать на сколько мне пикселей отступать влево за окошко, что бы там нарисовать квадратик, что бы только часть его виднелась когда он не полностью помещается
1268 2446021
>>46019

> Дело в том что я квадратик могу рисовать только полностью


Это ещё сфига? Шо, в купейнтере (ты ведь им рисуешь) нельзя отрицательных координат указывать?
1269 2446028
>>46021
можно, но как мне вычислить на какой координате в минусовой рисовать, и вообще надо ли мне рисовать квадратик за пределами виджета, может там и так все помещается, конечно, можно просто рисовать количество квадратиков = (ширина виджета/ширина квадратика и отступа между квадратиком) + 2. Один что бы слева за виджетом рисовался, другой справа). Но тогда надо будет считать на сколько сдвинуто все, патом прибавлять сдвиг, и там кароче проблемы у меня дальше возникают. Мне почему то это кажется говнокодством и мне кажется есть более изящный способ рисовать квадратики
image.png2 Кб, 295x166
1270 2446031
1271 2446032
>>46031
Это все идеально ложится на qml
1272 2446033
>>46032
Как вы заебали со своим qml, мне некогда изучать его, и решать проблемы с миксингом qml и обычных виджетов.
1273 2446121
>>46033
Луддит
16395571767510.jpg147 Кб, 1149x832
1274 2446133
>>46033
Один в один
1275 2446136
>>46133
ну хотя на что я надеялся спрашивая тут совета.
1276 2446157
>>46033
Чего ты такое вообще пишешь что обязательно нужны виджеты? У нас обычно вся времязависимая хрень выносится в отдельную систему реального времени, а интерфейс быстро клепается на обычных ос, связь по сети или шаред мемори если системы на одном компе.
1277 2446159
>>46157
Потому что там будет один виджет в приложухе который я не представляю как реализовать на QML, может и можно реализовать, но мне некогда познавать все тонкости QML, к 10 числам сентября надо уже доделать.
1278 2446164
>>46159

>к 10 числам сентября надо уже доделать.


Ну ладно. Хотя хз как получится, мне как то дали легаси на шарпе/ксамл и у меня была неделя на изучение языков. Как-то справился)
1279 2446165
>>45038
Бамп
1280 2446171
>>46164
ну я не такой крутой, ну в теории я могу, но я боюсь что где нибудь увязну, и начнется хуета и гугление бесконечное.
unknown2022.08.26-17.41.mp45,1 Мб, mp4,
3840x2160, 0:33
1281 2446208
Вроде сделал, двигаются квадратики, но почему самый левый столбик как то плавает иногда
1282 2446212
1283 2446221
>>46212
А без абстракции про квадратики чё он должен делать? Показывать гистограмму какой то хуйни? Скролл чем идёт, мышью тягаешь по горизонтали, или колесо крутиш?
1284 2446229
>>46221
Кручу колесо мыши, показывает уровень сигнала
1285 2446232
>>46229
Какого сигнала? Откуда он берется? Раз столбиков фиксированное число - сигнал получается не реалтаймовый? Какие у него характеристики?

Подробнее блять описывай.
1286 2446238
>>46232
Спектр сигнала по частотам, откуда берется не знаю, характеристики частота и мощность. Частота это номер столбика мощность высота столбика. Вообще представь что ты радио настраиваешь крутилкой
unknown2022.08.26-18.08.mp43,6 Мб, mp4,
3840x2160, 0:23
1287 2446247
https://pastebin.com/QmtvhA0j
Добавил округление до 10 знака, и теперь работает все плавно
1288 2446250
>>46247
До 1 знака после запятой
1289 2446254
>>46247
Файлик скинь с этим "сигналом"
1290 2446257
>>46254
у меня его нет, в представленных примерах я просто рандомными значениями заполняю, а даже если бы был то не скинул бы
1291 2446266
>>46257
Это блять что ж за сигнал такой секретный ебать...
И да, сигнал то реалтаймовый должен быть? Как скачущие столбики у mp3 плеера?
1292 2446269
>>45282

>но как в этой хуйне будут храниться трёхбайтовые символы?



Да ебучий китайский алфавит полностью помещается в два байта, да даже мне пришлось несколько десятков секунд мотать всю таблицу юникода, чтобы дойти до тех символов, которые в 2 байта не умещаются. А хранится символы которые больше 2 байт будут при помощи сурогатных пар в строке.
1293 2446271
>>46257
Дай угадаю, устроился в оборонкунападалку? Третью форму при устройстве подписывал?

Я чуть менее чем год назад свалил из такой на третий день РАБоты, даже записи о том что я там работал не осталось - трудовую в другой город на оформление отправить не успели.
1294 2446275
>>46266
Да, считай mp3 плеер пишу.

>>46271
ну типо
1295 2446341
>>46247
А не нихуя не работает, если увеличить размер виджета опять начинает скакать
1296 2446396
>>46341
Я чето хуею qpainter оказывается квадратики не умеет рисовать, он их то шире то уже рисует
1297 2446438
>>46341
Да ты просто чмоня ебаная, вот и всё. Сдрысни в js тред и не отсвечивай.
1298 2446579
>>46438
Нужно было использовать вместо round, ceil, теперь все работает плавно
1299 2446583
Как работают автоматические сгенерированные конструкторы при разных наследованиях? Если я в базовом удалю мувание, то что в наследниках будет? Я так думаю, что если наследник публично отнаследовался, то он просто может по дефолту муваться, будто это его члены, а если приватно, то нет, так придется мувать неявно базу. Я прав? Доку не читал
1300 2446585
>>46583
А нет, я еблан. Все работает наверное просто как в первом случае, вне зависимости от типа наследования. Дальше я какую то хуйню написал
allo.jpg293 Кб, 1169x1510
1301 2446716
Мужики, есть проблема. Мне дико скучно погромировать ради погромирования. Мне надо, чтобы конечный результат был кому-то нужен. Иначе я забиваю болт через 30 минут. А изучить плюсы без практики невозможно.
Родилась ебанутая идея: зарегаться на сайте для фрилансеров, и предлагать свои услуги бесплатно, честно предупредив, что задача займет миллион лет. Насколько такой формат вообще может кому-то понадобиться?
1302 2446801
>>46716
ну так сам проверь и посмотри
1303 2447044
>>46716

> фриланс


> C++

1304 2447104
Я знаю, что виртуальные вызовы это дорого, но я очень хочу в базе указать, что функция должна быть. Если я делаю ее виртуальной, но не определяю, то вызовы по прежнему будут дорогими?
1305 2447131
>>47104

> Я знаю, что виртуальные вызовы это дорого


Схуяли

> но я очень хочу в базе указать, что функция должна быть


Нахуя?
Если ты хочешь указать, что эта функция должна быть у потомков, то она обязательно должна быть виртуальной, потому что в этом и смысл виртуальных функций.
1306 2447190
А как сделать так, чтобы из хедера вообще ничего лишнего не протекало? Есть у меня функция чисто для использования в либе, пользователю о ней знать не надо. Как ее скрыть? И нужно ли?
1307 2447237
>>47190
Напиши отдельный хедер с функциями для пользователя и напиши для него реализацию на базе имеющегося. Это будет правильно, т.к. пользовательский интерфейс должен меняться как можно реже, а внутреннюю кухню можно будет регулярно менять. Тем более, что у тебя наверняка dll и подвендой методы экспорта надо дополнительно помечать как __declspec(dllexport/dllimport).
1308 2447239
>>47190
Либо если dll под windows, то всё что не помечено как
__declspec(dllexport/dllimport) извне не видно.
1309 2447282
Что почитать чтобы подебажить очень объемный многопоточный + файберы код? Или идея провальная и стоит разбираться с проектом как-то без дебагера?
1310 2447307
>>47104
блять, виртуальный вызов это оверхед в 7 ебаных тактов процессора. В СЕМЬ СУКА.

Это все еще в тысячи раз быстрее, чем пистрон и прочий мусор. пиши код, а еби голову
1311 2447384
>>47044
Что не так?
мимо
1312 2447395
>>47384
И чё ты на нём фрилансить собрался? Лендинг, интернет магазин или перкладчик джейсонов? Лабы для студентов?
1313 2447398
>>47395
В твоём представлении писать что-то серьёзнее лаб или лендингов возможно только в офисе?
1314 2447400
>>47398
чел ты на вопрос то отвечай, что ты писать на плюсах фриланся собрался?
1315 2447402
>>47400
Здесь я вопросы задаю. Это ты сгенерировал мысль про то, что на дому почему то код на плюсах не пишется, вот и защищай её.
1316 2447405
>>47402
тезис очень прост, фрилансить на плюсах нечего
не согласен с тезисом? приведи контр пример
1317 2447407
>>47405

>тезис очень прост


Тезис ничем не подкреплён

>приведи контр пример


Почему я смог устроиться в 2 компании на полную удалёнку + поддерживать контакты с полдюжиной постоянных заказчиков с почившего апворка а ты нет?
1318 2447415
>>47407

> приведи контр пример


> не приводит


спасибо за твой пост конечно, как что то по существу будет сказать пиши
1319 2447417
>>47415
Быстро же ты слился
1320 2447457
>>47384
Фриланса на С++ нету практически. А то, что есть - супер-узкоспециализированное для шарящих.

Ну и да - удаленка это не фриланс
1321 2447461
>>47407
Получается что все во время короны стали "фрилансерами"? Или ты хуй с пальцем путаешь?

В обычном понимании фриланс это небольшие проекты, которые ты выполняешь как ипшник соло.
1.png96 Кб, 949x594
1322 2447791
А можно пояснить, почему не работает?
https://godbolt.org/z/Een5PTfMn

Для сравнения, если раскоментировать 27ую и закоментировать 26ую, то всё окей.
Типа requires не используется для вывода типа?
1323 2447864
>>47791
А параметры шаблона кто будет писать за тебя? Как он должен догадаться что ты хочешь получить?
1324 2448092
>>47864
В 23ей строке ему это не помешало.

А вообще https://en.cppreference.com/w/cpp/language/class_template_argument_deduction
1325 2448102
>>48092

> В 23ей строке ему это не помешало.


Потому что они у тебя указаны в параметрах функции? Траллишь тупостью что ли? Как он во втором случае должен угадать из воздуха?
1326 2448306
Анчоусы, стоит ли вкатываться в с++ по курсам Яндекс.практикума? Цена вопроса ~120.000 рублей. Если нет, то обоснуйте.
Мимо системный и сетевой админ
1327 2448308
>>48306
Раз задаёшься таким вопросом - точно стоит.
1328 2448322
>>48306
Конечно стоит, там кто-то может сидит думает где взять бабло на новую видюху, а тут ты принесёшь бабло просто так.

> Мимо системный и сетевой админ


Молодец. После курсов начинай учить кресты.
1329 2448353
>>48102
Вот, блядь, я об этом. Можно вывести тип, но делать он этого не будет. Потому что "траллишь тупостью что ли? я компилятор крестов а не cock coq."
1330 2448370
>>48353
Ты долбаёб что ли? Откуда он его выведет, если ты нигде не указал его? В первом случае есть откуда. А хули ты ждёшь во втором магию? Чтоб он рандомный подставил тебе?
1331 2448381
>>48370
Из сигнатуры функции конечно же. requires связывает сигнатуру функции и остальные параметры шаблона.
1332 2448408
>>48381

> Из сигнатуры функции конечно же.


Это всё заебись, но у тебя её сигнатура известна только в рантайме. Ты тут машину времени изобретаешь?
1333 2448413
>>48408
Хуясе. А вот здесь поподробней можно? Лямбда с деклтайпом, возвращает флоат. Чёрным по белому. Неужели плюсы это знают только в рантайме?

Щас чекнул с обычной функцией, именованой. То же самое.
1334 2448430
>>48381

> Из сигнатуры функции конечно же.


Но у тебя там структура, а не функция...
Сам не видишь что ли?
1335 2448433
>>48430
Ты сейчас про лямбду? Ты не стесняйся, если она разворачивается в функтор, а не в функцию, то так и скажи же, ну.

Я знаю, что MyShiet - структура. Интересовало, почему нельзя вывести параметры шаблона из сигнатуры и типа возвращаемого значения функции, которой я инициализирую инстанс этой структуры.

Жду ответа от >>48408 про сигнатуру в рантайме.
1336 2448444
>>48433

> почему нельзя вывести параметры шаблона из сигнатуры и типа возвращаемого значения функции


А где у тебя там сигнатура? У тебя есть только переменная с типом лямбды...
Ты же не думаешь что в указателе на функцию умещается ещё и её сигнатура?
1337 2448456
>>48444
Хуясе. Вот сейчас интересно.

Нет, я не думаю, что в указателе умещается сигнатура.
Да, я думаю, что в compile-time кресты знают полный тип указателя, в котором умещается и сигнатура.

Ну и естественно, я полагаю, что параметры шаблона подставляются в compile-time.
1338 2448538
>>48456
Вот если бы у тебя всё это было в одном шаблоне, то сработало бы. Тогда бы ты передал параметры в функцию и они вывелись в структуре.
1339 2448545
>>48538

>Вот если бы у тебя всё это было в одном шаблоне, то сработало бы. Тогда бы ты передал параметры в функцию и они вывелись в структуре.


Немного не понял. Из-за того, что MyShiet и FitnessFunction - разные шаблоны, подстановка нормально не работает?
1340 2448549
>>48538
>>48545
Вот так тоже не работает.
https://godbolt.org/z/zdczjW8Y6
1341 2448555
>>48549
Да блять, ну нельзя в структуре выводить. Генерейшон запихни в шаблон со структурой и будет всё заебись.
1342 2448560
>>48408
Ты ебанат или куда? В рантайме нет никаких типов. Это нетрудно понять, если попробовать поискать типы в генерируемом ассемблерном коде.
>>48381
requires никого не связывает там у тебя и не выводит. Он просто подставляет всю хуйню в requires и проверяет, получилось true или false. Понять, что он ничего не может вывести, тоже несложно -- невозможно вывести тип Cost. То, что он конвертится к какому-то другому типу, не определяет его однозначно, ну вообще никак.
У тебя получится, если твой концепт сможет всё вывести сам, зная только тип T. Сам вытащи из типа T то, какие он аргументы принимает, и что потом возвращает.
1343 2448568
>>48560

> если твой концепт сможет всё вывести сам, зная только тип T


И тогда в концепте смысла не будет. Вот сейчас я понял. Пример высосан из пальца, потому что в struct MyShiet есть только поле с функцией. На деле там есть ещё поля, типы которых зависят от параметров шаблона.

Надо ещё подумать. Сложная магия.
1344 2448571
>>48568
Это оттого, что концепты совсем не для вывода типа нужны.
Там у тебя из непростого -- вывести аргументы, которые принимает лямбда. Остальное дальше нетрудно.
1345 2448579
Так, я выучил основы языка. Что мне теперь кодить чтобы найти работу?
1346 2448602
>>48579
Свою ос, но это так, начальный нет проектик

шучу, но вакансии сам способен глянуть и посмотреть что требуется
1347 2448621
>>48602
Ну в вакухах что угодно можно встретить. А мне нужно что-то конкретное, чтобы и интересно писать было и работу найти можно. С чего вообще все начинали?
1348 2448630
>>48306

> Анчоусы, стоит ли вкатываться в с++ по курсам Яндекс.практикума? Цена вопроса ~120.000 рублей. Если нет, то обоснуйте.


> Мимо системный и сетевой админ


Конечно стоит. Вдруг они там на таком лошье наварят бабоса, и такси дешевле станет...
1349 2449318
Поясните нюфане, нахуя нужны shared поинтеры, если есть unique поинтер
1350 2449338
>>49318
Чтобы их копировать?
1351 2449366
>>49338
А нахуяя? Тебе делать нечего больше, кроме как копировать? Вот у тебя есть один идентификатор, ты его и используй. Зачем тебе копии?
1352 2449390
>>49366
Я их очень много использовал в асинзронщине, чтобы один объект в разные коллбеки передавать и чтобы память не утекала
1353 2449394
Нельзя разделить объявление и определение шаблонной функции с параметрами по умолчанию, да еще и друга? У меня не получилось.
1354 2449404
А не, смог. Но пришлось определение вверх поднять. Жаль
1355 2449444
Хуйня какая то. Мне не нравится
1356 2449457
>>49390

> один объект в разные коллбеки передавать


А как же раздельный доступ?
1357 2449461
как такое фиксить? Я пробовал рисовать и с помощью QPainter и с помощью QImage. Пробовал рисовать по пиксельно, то есть эти квадратики рисовал сам, своей функцией рисования прямоугольника. Плюс QPainter рисует не столько пикселей сколько попросишь. Я прошу нарисовать квадратик 10 пикселей шириной, он рисует 15. Там что ли какое то сжатие стоит и он так масштабирует криво. AntiAliasing не предлагать, он тогда вообще криво рисует как на 2 пике
1358 2449521
>>49444
В итоге пришлось сделать статиком функцию. Может так даже лучше
1359 2449546
Какие есть утилиты для анализа размера бинарника? Хочу понять че он так надулся.
1360 2449548
Переношу из закрепа, там всем похуй

Каждый раз когда пытаюсь написать что-то мультипоточное, упираюсь в активное ожидания. Может быть, изначальную проблему оно и решает, но заодно с этим решает ещё и проблему отопления помещения.
Посоветуйте что-ли книжки, в которых объясняется это и прочие проблемы.
Ну и в целом желательно чтоб там объяснялось мультипоточное программирование
1361 2449559
>>49548

>упираюсь в активное ожидания


Mutex
1362 2449575
>>49559
Не подходит.
Я имел в виду, например, ожидание ввода от пользователя в графическом приложении или ожидание новых подключений в сервере.
1363 2449600
>>49575
В смысле? В чем вообще проблема с ожиданием, оно же не тратит вообще нихера, ядро просто на другой процесс переключается.
1364 2449632
>>49600

>ядро просто на другой процесс переключается


В этом и проблема. Так должно быть, но я не знаю, как это сделать, и в итоге у меня цикл while и активное ожидание.
1365 2449633
>>49600
Попробуй сделать циклическое ожидание в потоке if(flag) без sleep. Увидишь как оно 100% от одного ядра зохавает. Как быть? Например использовать conditional_variable.
1366 2449648
>>49632
>>49633
Нахера там делать while, вы совсем шизы? Для этого у операционок есть мультиплексированый ввод-вывод, хз чё там в винде но в линуксе это select/poll/epoll. Процесс тупо уходит спать указав за каким списком дескрипторов он будет следить, и операционка его разбудит когда там будут интересующие его изменения.

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

Или юзать буст с его io_service(оно называется уже иначе, но когда я его использовал было ещё io_service) и асинхронные операции, типа async_read...
1367 2449660
>>49648
Чем тебя std::conditional_variable не устраивает? Зачем тянуть за собой буст (asio) или блядский Qt?
1368 2449663
>>49660

> Чем тебя std::conditional_variable не устраивает


Тут нахуй не нужна многопоточность, чел.

> Зачем тянуть за собой буст (asio) или блядский Qt?


Во первых можешь не тянуть и использовать родное апи операционки (в моем случае posix, хз как там у виндоблядей) если хочешь поебаться и если кроссплатформенность не нужна. Только - boost asio реально куда то там надо тянуть? Она разве не header only? Блять, да она никак не может быть не header only, там же ебучие шаблоны шаблонов шаблонов шаблонов...
1369 2449682
>>49548
Похоже тебе нужны бустовские фьючи с континуэйшонами (хз как по-русски)
https://www.boost.org/doc/libs/1_55_0/doc/html/thread/synchronization.html#thread.synchronization.futures.then
1370 2449695
>>49663
Чел писал про

>пытаюсь написать что-то мультипоточное


>ожидание новых подключений в сервере



У тебя сервер в один поток работает?

>boost asio реально куда то там надо тянуть?


Зависимость, которая непропорциональна поставленной задаче.
1371 2449827
Всем привет. Потихоньку ковыряю сипипи, и чсх происходит необъяснимая хуйня. Пишу калькулятор. Вот фрагмент кода с самой функцией счёта:
http://pastebin.com/h0kMZqRh
Тут всё очень просто, есть переменная с выражением (3+4), есть переменная со смещением, и есть цикл, в котором происходит счёт, пока есть что считать. На этом моменте и происходит необъяснимая хуйня.
Я в свитче проверяю знак в том месте строки, где он был найден. В итоге это не +, не -, не * и не /. Это, сука блять, "+4".
Вопрос: как символ в определённой позиции строки может быть двумя символами?
1372 2449835
>>49827

> char⚹ expos = &ex[pos];


Ты возвращаешь не один символ, а строку, поэтому там и +4.
Исключение кидает в итоге, потому что ты break'и забыл поставить.
1373 2449966
Есть ли разница между этим

typedef struct foo
{
...
} mytype_t;
mytype_t bar;

И вот этим

struct foo
{
...
};
foo bar;

Нужен ли в данном случае typedef?
1374 2449970
>>49966
Мне казалось typedef это что то из мира сишки, где слово struct перед именем типа писать надо обязательно.
1375 2450013
>>49966
Есть, первое не на крестах написано.
1376 2450049
>>49461
Оказывается это все из за того что на моем 4к мониторе стоит масштаб 150% процентов и вот так он криво масштабирует
1377 2450058
>>50049
Чел ты дурак или троль? Ты тут уже неделю пару квадратов нарисовать не можешь. Очевидно у тебя какой то график, почему бы тот же кастомплот не использовать или простигтсподи кутичартс? Нахер ты дрочишь в присядку?
1378 2450089
>>50058
Законом не запрещено, дрочу как хочу.
1379 2450095
>>50058
и это не так легко как кажется
1380 2450098
>>50095
Это ОЧЕНЬ легко
1381 2450103
>>50098
скажи мне алгоритм что бы нарисовать это? Основные действия. И что бы не рисовать за пределами виджета 1000 столбиков
1382 2450108
>>50103
P.S. и что бы нужное значение всегда было по середине
1383 2450119
>>50108
Что такое нужное значение и почему оно должно быть посередине?

Просто скинь свой проект куда нибудь на гитлаб шоб собирался.
1384 2450132
>>50119
Я нечто похожее делаю, только у меня не красная стрелочка будет бегать по шкале, а шкала будет под красную стрелочку нужное значение подставлять
1385 2450143
>>50119
Нужное значение, это значение которое ты виджету скармливаешь, а он ищет элемент массива у которого индекс точно такой же, и рисует посередине столбик такой высоты в зависимости от значения которое лежит под этим индексом.
1386 2450146
>>50132
Возможно, ебланское решение, но может просто сделать длинную горизонтальную картинку со шкалой и просто сдвигать по координате х влево/вправо?
1387 2450149
>>50146
ну изначально, то я так хотел, но не хочется рисовать несколько тысяч столбиков, если только несколько из них окажутся отрисованными, но время то затратится на отрисовку всех.
1388 2450151
>>50146
ЖопенОЛ решает все твои проблемы (ну кроме того, что ты тупой).
1389 2450319
Кресты 22 итоги
1390 2450321
1391 2450488
>>42255
Не, это самая блевотная хуйня которую только можно было создать.
1392 2450489
>>17218
Любой год на любом другом скрипто-языке который требуется забустить и заимпрувить перформанс.
image.png87 Кб, 1005x365
1393 2450490
>>10386 (OP)
С++ стандарт драфт. Ебальничек бы разбить тому дауну что писал эту хуиту лел. У нас даже в TypeScript такой хуйни нет, всё чётко описано вплоть до интерфейсов callbackов. Ну ёптвою мать.
1394 2450491
>>50489

>Любой код

1395 2450498
>>49548
Мань, тебе не книжки надо, а спеки по управлению процессами у операционки под которую пишешь.

>>49648
Удвоил вот этого. Всё это касается I/O. Либо костылять свои управляемые процессы с FIFO или другим IPC методом.
1396 2450500
>>45328
Вектор изначально сохраняется в то место (уровнем выше), где функция его возвращает, мань.
1397 2450502
1398 2450513
А у меня крестовик на балконе живет. Я его мухами подкармливаю.
1399 2450542
>>48621
С магистратуры по комп.с.
1400 2450548
Нвидиа кун почему у нвидиа такая уебищная документация? Хуже говна просто.
Оправдывайся.
20220802204926.jpg2,1 Мб, 4624x3468
1401 2450562
>>50513
У меня тоже жил, да мамка пересрала и хлопнула его.
image.png34 Кб, 590x86
1402 2450638
>>42255
Нахуя?
1403 2450676
>>50638
Оплата построчно.
1404 2450702
>>50676
Ну тогда надо было ебошить по полной, каждую скобочку на своей строке, ещё и комментарии к каждому действию приписать.
1405 2450706
>>50638
Впервые увидел геттеры?
1406 2450755
А возврат строчки по значению может кинуть исключение?
1407 2450759
>>50755
Ну или слой тонкий, или варенье оче густое и липкое, с хорошей адгезией.
1408 2450763
>>50759
Бля, не тот тред, ну да ладно.

А вообще конструктор перемещения и оператор присваивания по rvalue reference стоят как noexcept, а больше ничего вызываться имхо там не может
image34 Кб, 713x274
1409 2450946
Почему сегфолт?
Мне нужно вывести максимально возможную дату
1410 2450953
>>50946
Си-тред не тут.
1411 2450955
>>50953
Его нет
1412 2450967
Сегодня начал читать матан и столкнулся с тем, что много беспруфного пиздежа. например, говорят вот предел у функции при х->∞ такой-то. А откуда мы это знаем? А что если на каком-то значении функция наебнется и вообще по-другому себя поведет? Обычно пишут очевидно, но хотелось бы точных пруфов, а не неполной индукции. Не ожидал такого от точной науки.
1413 2450979
Что делать с человеком, которому лень вставлять лишние кавычки после ифа и он пишет инструкции через запятую?
343546.mp4650 Кб, mp4,
1280x720, 0:01
1414 2450983
1415 2451001
>>50967

>Сегодня начал читать матан


Хуёво читал, раз не дочитал до определения предела.

> например, говорят вот предел у функции при х->∞ такой-то


В нормальных книгах это как раз доказывают.
Колись, что читал? Википедию?
1416 2451009
Есть буфер и два потока - поток А и Б, Поток А записывает в буфер данные, введённые пользователем, а поток Б считывает из буфера данные и производит над ними определённые манипуляции. Как организовать их синхронную работу? Чтобы поток Б не постоянно запрашивал данные, а только после того, как в буфер были записаны данные. Понятно, что нужно использовать mutex, но как это реализовать на практике? Есть ли примеры?
1417 2451011
>>51009
Cond var
1418 2451031
>>51001
Демидович, Кудрявцев
1419 2451076
>>51031
Ну так Демидович же сборник задач, а не учебник. Там тебе никто доказывать не станет.

Фихтенгольц там или Виноградов будут с пруфами. Кудрявцев для имхо ноунейм какой-то.
1420 2451083
>>50967

> А что если на каком-то значении функция наебнется и вообще по-другому себя поведет?


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

>>51031

>Демидович


Демидович это задачник, там и нет цели воспроизводить пруфы. Прост краткая справка для напоминания.
1421 2451084
>>51009
std::conditional_variable
Если совсем туго - открой книжку вильямса по параллельному с++ и скопипасти оттуда пример параллельной очереди.
1422 2451088
>>51083
Непрерывность функции вводится через предел. Ты тоже жопой чтоли матан читал?
1423 2451107
>>51088
Во-первых, есть и другие способы.

Во-вторых, я ничего не говорю о том что через что вводится. Я говорю о том, что почти к любому свойству предела будет оговорка о том, что оно верно только для непрерывных функций.
1424 2451123
>>50638
Если уж не получается реализовать задуманное через простую pod-структурку, то

1. Единооборазие - все делается через вызовы функций. Единообразие это хорошо.
2. Можно дать позырить член, но при этом не давать его трогать.
3. В общем случае могут потребоваться всякие танцы с бубном, а не просто return член.
1425 2451130
https://isocpp.org/blog/category/articles-books
Спустя дохуя лет предложили единственный нормальный умный указатель. И теперь я не понимаю, нахуя другие нужны?

Реально вопрос. Нахуй нужно выделять динамически память, кроме как для массивов(и то, уже есть std::vector и прочее)? Нахуя нужно динамически выделять память под указатель, а потом ее удалять? Это медленно пиздец. НАХУЯ. Поясните. Ведь можно статически выделить в стеке.

Так зачем нужны все эти unique_ptr, shared _ptr и прочая залупа?
1426 2451133
>>51130

>Ведь можно статически выделить в стеке


Стек по размеру ~1 мегабайт. Удачи выделять в нём память.
Очевидная проблем - в стеке нельзя выделять память во время выполнения.
1427 2451134
>>51130

> Это медленно пиздец.


А статика как будто быстрее, чел. Ты же понимаешь, что с кучей статики у тебя будет бесполезный жор памяти? Статику никогда не стоит использовать, у нас тут не джавапараша. Если хочешь быстро, то не вылезай со стека.
1428 2451137
>>51133
Хороший аргумент, понял. То есть их следует использовать в огромных функциях.

>>51134
Хуй изо рта вытащи и поясни нормально.
1429 2451145
>>51107

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


Например? Ты со сходимостью или асимптотикой не путаешь?
1430 2451149
>>51130

> Нахуя нужно динамически выделять память под указатель, а потом ее удалять?


А этого и нет, ты какую-то хуйню выдумываешь, аллокатор в крестах не так работает. И со статической аллокацией ты будешь платить скоростью обращения к памяти и её размером. Выигрыш от этого сомнителен, только если в эмбеддед пригодится, как корутины.
1431 2451157
>>51149
так я не пойму, нахуй все таки нужен умный указатель? Ведь суть его в том, чтобы вручную не писать new и delete, так? Так зачем это нужно для указателя? Почему нельзя использовать обычный, ака статический указатель? Вот для массива понятно зачем new и delete, но уже есть std::vector и велосипед не нужно изобретать.
1432 2451159
>>51130
Очевидно, что объекты, созданные на стеке до блока памяти под static_ptr не могут быть удалены ранее этого блока (LIFO).
1433 2451171
>>51157

> нахуй все таки нужен умный указатель?


Для повторного использования памяти без ебли.

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


Потому что у тебя память конечная. Ты с тем же успехом можешь сразу себе выделить всю доступную память и без аллокаций срать в неё не снимая штанов.
1434 2451179
>>51171
А кроме этого? То что память конечная сомнительный аргумент, я видел дохуя примеров использования этой залупы в маленьких функциях и классах.
1435 2451181
>>51157
Например для обработки исключений. Если у тебя кидается exception то стек раскручивается и удаляется smart_ptr, который освобождает память автоматически.
Придумай альтернативный сценарий со статическим указателем.
1436 2451197
>>51181
Хорошо, джва есть.
+В стеке памяти мало
+Обработка исключений

что еще?
1437 2451203
>>51179

> сомнительный аргумент


Тогда тебе лучше не писать на клестах, потому что ты идёшь по тем же граблям, что и многие говнокодеры, высерающие говно с текущей памятью и багами.
1438 2451207
>>51197

> что еще?


Можно тупо забыть освободить.
1439 2451209
>>51130
То ли я тупой, то ли ты. Во-первых, ссылка не открывается, хуй знает, что там за волшебный "статический смарт-поитер" изобрели. Во-вторых, ты в курсе, что при завершение функции, все локальные объекты считаются уничтоженными? А память, взятая из кучи существует, пока ты явно ее не удалишь либо до конца программы?
1440 2451215
>>50967
Если тебе кажется, что ты в кудрявнике видишь беспруфный пиздёж, остановись и осознай, что ты нихуя не понимаешь, что происходит и о чём речь.
Существование предела функции при x -> inf имеет конкретный смысл, который там однозначно указан. Твоя отрыжка про "при каком-то значении функция наебнется" показывает то, что ты ещё и не понял, что вообще такое предел и нахуя он нужен.
1441 2451222
>>51207
А когда это нахуй нужно в 2022?

Кто использует new и delete?
Давно есть std::vector и прочая залупа, которая все за тебя делает
1442 2451225
>>51197
Время жизни объекта заранее не известно.
Например есть class A { static_ptr p; };
Код:
A f1;
{
f1.p = alloc_memory_on_stack();
...
// в этом месте удаляется память f1.p так как scope закрывается
}
// в этом месте f1.p указывает на невалидный блок памяти
1443 2451232
>>51222

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


Конечно есть, называется unique_ptr.
1444 2451250
Два чая тому анону.

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

https://johnysswlab.com/the-price-of-dynamic-memory-allocation/
1445 2451255
>>51250
Все проблемы аллокации памяти в куче решаются написанием нормального аллокатора.
1446 2451257
>>51250
Так а в чём чай то?
Если статическую память использовать то она освободится только в конце работы софта.
Если стек, то освобождение по правилам LIFO.

Оператор размещения new будет работать с одинаковой скоростью для всех типов памяти. Только для кучи не будет ограничений по времени жизни блока, на котором всё размещается.
1447 2451258
>>51255
Джуны не напишут лучше встроенного.
1448 2451260
>>51257

> Оператор размещения new будет работать с одинаковой скоростью для всех типов памяти.


Почему?
1449 2451263
>>51258
Ты не поверишь, но есть те, кто уже написал аллокатор и опубликовал его по свободной лицензии.
1450 2451264
>>51257

>Оператор размещения new будет работать с одинаковой скоростью для всех типов памяти.


Маня, в курсе как работает выделение памяти, RAM, операционная система?

статью прочитай, сеньор хуев.

мимо embbed кабанчик
1451 2451265
>>51258
А ты напишешь, умник бля.
1452 2451266
>>51265
Я вообще вебмакака, конечно не напишу блять.
1453 2451267
>>51264
Какие высокоуровневые прогеры дегенераты, пиздец просто
1454 2451270
>>51250
Вы либо прогаете на С++, соблюдая паттерны и делая кол как можно более оптимизированным, либо идете в питоны.

Ибо нахуй вам С++, красноглазики, если вы не умеете в эффективный код на нем? Перекатывайтесь на джавапарашу.
1455 2451272
>>51264
Доводы уровня malloc/free?

Placement new (address) (type) не запрашивает выделение памяти (у ос тем более).
1456 2451276
В сишке хотя бы нет эксепшенов, и маллок там норм.
1457 2451277
>>51260
Видимо потому, что он в качестве аргумента принимает адрес уже выделенной памяти. И по этому адресу вызывает конструктор, работа которого также не связана с типом памяти.
1458 2451278
>>51276
Думаешь что обмазываешься малоками осетровых. В проде чуствуешь привкус ротана.
1459 2451282
Эх, завтра уже сентябрь. Кого-то из вас выпиздят за не пересданный матан, а кто-то опять начнёт изучать сишечку с преподами-маразматиками. Жалко вас, вкатотуси.
1460 2451284
>>51282

>вкакотуси


Фиксанул.

Удвоил так-то. Вообще не понимаю, нахуй изучать кресты будучи в проперженной шараге. Когда открою свой биз, принципиально дебилов с корочкой нанимать не буду. Один хуй бесполезны будут лел.
1461 2451286
>>51282
Инженер-констрктор.
Выучил весь этот ваш computer science bachelor degree сам бесплатно, нахуй вообще в универ(тем более рашковуз, пиздец) поступать? Кроме как повыебываться перед РАБотодателем? Диплом и купить можно
1462 2451287
>>51286
Ну и чё ты там наконструировал, мань?
1463 2451288
>>51282
>>51284
>>51286
Жаль уже больше 10 лет как закончил школу, а так травил бы вас на переменах. Как же заебись было, когда двачеры всегда под рукой и готовы хоть отсосать лишь бы не стукали.
1464 2451289
>>22996
@
ASSEMBLER PROGRAMMING IN NUTSHELL
1465 2451290
>>51288

>эти влажные мечти байтоомеги


Орнул с долбоёба
image.png16 Кб, 810x394
1466 2451291
Кратко о программировании на C на этой доске ле.
1467 2451292
>>51286

>Инженер-констрктор.


Это же дно ёбаное в плане зп. Ну разве что инженерные расчёты на барена копеечку приносят. Всякий там ansys, абкакус и прочие star-cd.

>нахуй вообще в универ


Диплом решает, когда ты начинаешь с зарубежными организациями общаться. При релокации просят наличие master science или ph.d. Просто это хай тир и когда ты до него доходишь,, то время уже назад не провернуть.
1468 2451294
>>51292
А купить это говно? Разве это проблема для наносека в коррумпированной стране?
1469 2451295
>>51292

>Это же дно ёбаное в плане зп.


Я не в скотоублюдии живу*
1470 2451296
>>51292

> При релокации просят наличие


В азиатских странах не просят. А релоцироваться в западные помойки с сжв, ниггерами и преступностью - это умственная отсталость.
1471 2451298
>>51294
В универе (тех, что в списки там всякие входят) ты можешь купить хуйню типа зачёта по физкультуре. С дипломом так не прокатывает.
1472 2451299
>>51296

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


Азиаткофетишист с /b/, ты?
1473 2451300
>>51296
Лахта, иди нахуй.
1474 2451303
>>51298
Эх, значит только остается фриланс или свою фирму открывать.
1475 2451304
>>51299
Азиаткофетишиста не существует, существует только бот, который создаёт 70 азиаткотредов в день.
1476 2451305
>>51303

>свою фирму открывать


И на кого она работать будет? Кроме госзаказов в ближайшее время ничего не предвидится.
1477 2451308
>>51305
За рубежом я имею ввиду. Если простым работником в зарубежную фирму без диплома не берут, как ты говоришь.
1478 2451310
>>51299
Нет, просто говорю как есть. Интегрироваться в общество ты не сможешь никогда, в лучшем случае твои дети, зато бонусом будет ебля твоего мозга леваками а они будут в любой нормальной ИТ-компании и возможность получить перо под ребро от ниггера/абу-бен-ладена.
1479 2451311
>>50638
Потому что давать пользователю доступ к приватным полям - плохая идея
1480 2451313
>>51311
Хуёво, когда пользователь - это твой коллега-дегенерат за соседним столом и тебе приходится городить такое говно. Стоит задуматься туда ли ты попал вообще.
1481 2451319
>>51308
Диплом ещё идёт бонусом при всех видах миграции (в ту же Канаду есть система начисления баллов, которые дают за знание языка, профессию, образование, возраст).
1482 2451323
>>51310

> от ниггера/абу-бен-ладена


Забыл хохлов, они тоже такое могут провернуть.
1483 2451324
>>51313
Жиза.
1484 2451326
>>51310
На /по/рашу съеби, мы тут умные указатели обсуждаем
1485 2451328
>>51326
Так вот, Box в Rust лучше C++ умных указателей
1486 2451332
>>51323
Да уж, их сейчас полно должно быть. Пойдёшь так бухнуть с русским коллегой, а он вдруг достанет заточку и попросит сказать паляница.
1487 2451333
>>51328
Что такое Box
1488 2451334
>>51333
Коробка в переводе с английского.
1489 2451398
>>51291
Кратко о твоих умственных способностях и пряморукости админа:
>>2399452 (OP)
1490 2451407
>>51133

> Стек по размеру ~1 мегабайт. Удачи выделять в нём память.


А если увеличить себе стек?
1491 2451414
>>51407
В стандарте крестов такого нет, значит, так делать нельзя.
1492 2451437
>>51414
В стандарте крестов ничего не сказано про гуй - получается, его не существует?

Так чё будет если себе стек увеличить, к примеру через setrlimit(RLIMIT_STACK)? Не кресты же за него отвечают, а ОС.
1493 2451460
>>51437
Сынок, погугли что такое стек и как работают компьютерные программы
1494 2451487
>>51460
Так без маневров, это увеличит стек или нет? Получится у меня ебануть char data[3210241024] или хуй?
1495 2451506
>>51487
Проверь и расскажи нам итт.
1496 2451671

> enumclassbyte:unsignedchar{};


Объясните
1497 2451689
Аноны, разве библиотека алгоритмов не нарушает принципов ооп? По сути все ее функции изменяют значения входящих параметров, вместо того чтобы возвращать новые значение.
1498 2451691
>>51689
Иногда принципами можно пренебречь, если это обеспечит намного более высокую производительность.
16487514728250.jpg111 Кб, 960x639
1499 2451704
>>51130
Чот орнул. Тебя надо к скриптопетухам определить на парашу, там тебе никакой менджемент памяти не нужен будет. Будешь виртуальным колясочником.
1500 2451705
>>51689
В крестах вообще самый хуёвый OOP из возможных. Даже в жава параше он и то лучше. Долбоёбы зачем-то вынесли стандартные классовые методы в отдельные функции. Я в ахуе чё творится. И эта хуйню ещё с 2011 стандарта.
1501 2451721
>>51689
Ты ёбнутый? С чего это должно нарушать принципы ООП?
1502 2451749
>>51689
То есть допустим тебе надо отсортировать массив в несколько гигов - мало того что он сам весит ебануцца сколько - нужно ещё столько же памяти отожрать, лишь бы не нарушать каких то маняпринципов?
1503 2451832
Перекат, совсем ебанулись уже, полторы тыщи постов
>>2451830 (OP)
>>2451830 (OP)
>>2451830 (OP)
>>2451830 (OP)
>>2451830 (OP)
>>2451830 (OP)
>>2451830 (OP)
>>2451830 (OP)
1504 2451835
И еще раз перекат
>>2451830 (OP)
1505 2452535
Вообразим, что я нихуя появилась новая классная ос. Какие могут быть проблемы с переносом на нее остальных программ, если есть исходники?
1506 2452537
>>52535
У новой классной ос будет новое апи. Программы придется переписывать заново.
1507 2452610
>>52537
Я так понимаю обычно просто пишут какую то обертку, кучу функций в которых ифдефами для нужной ос функции добавляют. Тут так не получится?
unknown2022.09.02-13.53.mp41,1 Мб, mp4,
1202x982, 0:17
1508 2452682
Таки сделал, но какой ценой... две недели пердолился
1509 2452685
>>52682
И все равно как то криво. Что это вообще?
1510 2452693
>>52682
Ты исходники так и не залил
1511 2452694
>>52682
У мог бы на WINUI хуяк-хуяк за 15 минут на XAML сделать с тремя строчками кода. Вангую даже на чистом Direct2D меньше бы проебался.
1512 2452695
>>52685
не, не криво, там есть на видео артефакты, где цвет смешивается и видно иногда не тот цвет пикселя который должен быть. Это из за 150% масштабирования у монитора. Мне просто лень было, ставить 100%, для видео. Вот что это >>50132

>>50098
Да, это очень легко на деле оказалось. Даже стыдно как то теперь.
1513 2452704
>>52693
Ну я могу скинуть алгоритм отрисовки квадратиков. Может кому то поможет. Извините, комментариев пока не расставил.

https://pastebin.com/VXgLsjWw

double selectValue - значение которое мы выбрали, и которое должно быть по середине;

int widthLevelSignalColumn - ширина столбика;

int distanceBeetwenLevelSignalColumn - расстояние между столбиками;

QSize sizeTags - ширина и высота риски с координатой, это те которые черные внизу с цифрами;

double quantityLevelSignalColumns - количество столбиков помещающееся на виджете;

QVector <int> inputValueVector - массив со значениями;

double widthOneSegment - ширина одного столбика вместе с пустым пространством;

double step - прирост значение при одном шаге колесика мыши;

double tagsValue - на каких координатах рисовать цифорки внизу, типо хочу что бы каждые 10 столбиков рисовалась координата номер столбика, а можно поставить что бы каждые 10.5
1514 2452715
>>52704
А ну в принципе краткий комментарий по алгоритму могу дать.

Сначала определяем сколько столбиков + отступ от столбика помещается в виджете. Затем делим на два. рисуем столбик текущего значения на 0 координате, слева от 0 координаты рисуем количество столбиков помещающихся в виджете / 2 и справа также. Затем все это сдвигаем в право на половину виджета. Таким образом получается что значение которое выбрал пользователь всегда по середине. Также нужно нарисовать рисочки со значениями, также находим сколько помещается рисочек в виджете, затем находим ближайшую к выбранному значению риску путем алгоритма

double valuefloat = modf(selectValue/tagsValue, &valueInt);

double leftTag = tagsValuevaluefloat;

double posValue = (selectValue - leftTag) + (i
tagsValue);

он находит ближайшее слево значение относительно selectValue и кратное tagsValue. Затем также рисуем влево половину всех рисочек, от tagsValue и вправо также. Также сдвигаем на половину виджета. Ну и все.

Правда для корректной работы потребовалось добавить костылек.

double valueInt = 0;

double valuefloat = modf(step, &valueInt);

selectValue += valueOffSet;

if(valuefloat > 0)
{

selectValue = round(selectValue (1/valuefloat))/(1/valuefloat);

}

Если у selectValue есть дробная часть то ее надо округлить, до step. Типо если у меня шаг прокрутки 0.1, то selectValue надо округлить до 1 знака после запятой. Если дробной части нет, то ничего не делаем. Я не знаю почему, но иногда у меня получались значения, вроде -1.164545
10^-16, и я придумал только такой способ избавиться, от этого, потому что на нулевых координатах столбики себя не адекватно вели иногда.
1514 2452715
>>52704
А ну в принципе краткий комментарий по алгоритму могу дать.

Сначала определяем сколько столбиков + отступ от столбика помещается в виджете. Затем делим на два. рисуем столбик текущего значения на 0 координате, слева от 0 координаты рисуем количество столбиков помещающихся в виджете / 2 и справа также. Затем все это сдвигаем в право на половину виджета. Таким образом получается что значение которое выбрал пользователь всегда по середине. Также нужно нарисовать рисочки со значениями, также находим сколько помещается рисочек в виджете, затем находим ближайшую к выбранному значению риску путем алгоритма

double valuefloat = modf(selectValue/tagsValue, &valueInt);

double leftTag = tagsValuevaluefloat;

double posValue = (selectValue - leftTag) + (i
tagsValue);

он находит ближайшее слево значение относительно selectValue и кратное tagsValue. Затем также рисуем влево половину всех рисочек, от tagsValue и вправо также. Также сдвигаем на половину виджета. Ну и все.

Правда для корректной работы потребовалось добавить костылек.

double valueInt = 0;

double valuefloat = modf(step, &valueInt);

selectValue += valueOffSet;

if(valuefloat > 0)
{

selectValue = round(selectValue (1/valuefloat))/(1/valuefloat);

}

Если у selectValue есть дробная часть то ее надо округлить, до step. Типо если у меня шаг прокрутки 0.1, то selectValue надо округлить до 1 знака после запятой. Если дробной части нет, то ничего не делаем. Я не знаю почему, но иногда у меня получались значения, вроде -1.164545
10^-16, и я придумал только такой способ избавиться, от этого, потому что на нулевых координатах столбики себя не адекватно вели иногда.
1515 2452773
Я делаю много объектов маленького размера через new, причем живут они не более секунды. Каждый раз при выделении я к ОС обращаюсь? Это же долго очень. Надо бы заранее выделить память, и ее уже распределять, да?
1516 2452776
>>52773
tcmalloc\jemalloc\mimalloc
1517 2452789
>>52773

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


Нет. ОС с мелкой хуйней не работает, а ебошит страницы памяти килобайта по 4. С ОС работает стандартная библиотека, а как с памятью работает аллокатор в большинстве случаев тебя ебать не должно.
1518 2453378
>>52789
Спасибо
1519 2455750
Надо принять (по сети) и обработать структуру, но какая именно это будет структура, я узнаю только в рантайме (выбор из трёх, возможно четырёх структур, какая именно - выясняется в момент приёма). Собираюсь принимать её и записывать адрес в void указатель, выяснять тип пришедшей структуры, а потом кастить этот указатель в указатель на нужный тип, чтобы можно было уже получать доступ к полям структуры и обрабатывать данные. Взлетит? Может, есть вариант получше?
1520 2455783
>>55750

> Может, есть вариант получше?


Мне кажется или эту хуйню испокон веков делают протобуфом?
1521 2482924
Прочитал книжку для нюфань из шапки, следующим делом буду пролистывать Best practices/Проектирование и теперь вопрос, где набираться реального опыта для кодинга? Теория хорошо, но в прод меня, базовую макаку, никто не пустит же, даже как совсем джуна.
Выдумывать свои пэты или в опенсорсе можно быдлокодить понемногу? Какие есть бест варианты тут?
1522 2493629
aноны, пожaлyйcтa, помогитe

я видeл, что тyт один yжe попpошaйничaл, тaк что поймy, ecли нaxyй пошлётe..
y мeня мой котофeй зaболeл. зовyт Гошa, y нeго capкомa жeлyдкa, тpи нeдeли нaзaд обнapyжили..
caм cтyдeнт, eщё нe paботaю, почти ниxyя нe имeю, a то, что имeл, yжe пpодaл - cмapтфон, нeкотоpyю одeждy, комплeктyющиe от пк, котоpыe xоть чeго-то cтоили. тaк жe влeз в долги. пытaлcя в микpозaймы или кpeдиты - ниxpeнa нe дaют из-зa отcyтcтвия paботы. pодитeлeй нeт, только бaбyшкa, котоpaя почти вcю пeнcию нa ceбя тpaтит - лeкapcтвa, eдa, коммyнaлкa. в общeм, нe помощницa..

тaк нacкpёб 16 c половиной тыcяч. нa опepaцию нyжно 18, eщё cpaныx 1450 pyблeй нe xвaтaeт. a опepaция нa зaвтpa, нa пятницу нa 11 дня нaзнaчeнa бляять...

yмоляю, aноны, xотя бы pyблём помогитe пожaлyйcтa.
220073ㅤ0247ㅤ539162
(извинитe, что имeнно так напиcал, боюcь бан выxватить раньше времени)

я догaдывaюcь, что нeкотоpыe пpeдложaт зaбить нa котофeя - я нe могy тaк, aноны... Гошa cо мной yжe полжизни, это caмоe доpогоe cyщecтво для мeня. и ceйчac, cмотpя, кaк он мyчaeтcя, xочeтcя нaxyй вcкpытьcя...

мeня cкоpee вceго ceйчac зaбaнят к xepaм, поэтомy извинитe, ecли отвeтить нe cмогy..
Тред утонул или удален.
Это копия, сохраненная 21 октября 2022 года.

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

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