Сохранен 1754
https://2ch.hk/pr/res/2345617.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

С++ thread #134 /cpp/

 Аноним 27/04/22 Срд 23:15:42 #1 №2345617 
1.JPG
2.png
Вместо шапки:
https://github.com/sosachbot/cppthreadhat
⚹ Для кусков кода: https://0bin.net/

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

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

Прошлый тред: >>2297529 (OP)
Аноним 27/04/22 Срд 23:55:35 #2 №2345643 
>>2345617 (OP)
плюсы для пидоров
мимопидор
Аноним 28/04/22 Чтв 00:32:41 #3 №2345649 
>>2345617 (OP)
Что читать по win api 64 кроме Харта?
Аноним 28/04/22 Чтв 00:33:47 #4 №2345650 
>>2345649
msdn
Аноним 28/04/22 Чтв 00:44:39 #5 №2345655 
>>2345650
Спасибо но я новичок и мне хотелось бы что-нибудь для вступления.
Аноним 28/04/22 Чтв 00:46:15 #6 №2345656 
https://gcc.godbolt.org/z/bTb1qPjsb
Есть у кого идеи, как починить точность? Или хотя бы определить, кто виноват, чтобы точечно отработать.
Аноним 28/04/22 Чтв 01:00:41 #7 №2345660 
>>2345656
Не совсем понял в чем проблема. Опиши по-подробнее.
Аноним 28/04/22 Чтв 01:04:22 #8 №2345663 
>>2345660
Может, я покажусь уёбком самоуверенным, но всё равно скажу-- если ты не понял, в чём там проблема, то вряд ли ты сможешь мне помочь.
Аноним 28/04/22 Чтв 01:05:06 #9 №2345664 
>>2345660
А так, если просто интересно, я там кубическое уравнение решаю, и меня не устраивает точность в некоторых случаях.
Аноним 28/04/22 Чтв 01:07:51 #10 №2345665 
>>2345664
Попробуй double вместо float. Может лучше будет.
Аноним 28/04/22 Чтв 01:10:08 #11 №2345666 
>>2345665
С даблом там точно так же будет иногда выпадать, просто гораздо реже. На флоатах хорошо видно, что алгоритм не очень корректно с точностью обходится.
Аноним 28/04/22 Чтв 01:12:22 #12 №2345667 
>>2345666
Думаю проблема в округлении.
Аноним 28/04/22 Чтв 01:24:45 #13 №2345669 
>>2345656
У меня IDE дает ошибки компиляции в строке 68-71 и 74.
complex и norm без аргументов

auto const a = std::complex{dist(gen), dist(gen)};
auto const b = std::complex{dist(gen), dist(gen)};
auto const c = std::complex{dist(gen), dist(gen)};
for(auto const x : CubicEquation<float>::solve(std::array{a, b, c}))
{
auto const sum = x x x + a x x + b * x + c;
auto const d2 = std::norm(sum);
Аноним 28/04/22 Чтв 01:27:42 #14 №2345670 
>>2345669
-std=c++20 или его аналоги
Аноним 28/04/22 Чтв 01:38:12 #15 №2345672 
>>2345649
>>2345655
новичек в чем? тебе нужно портировать приложение win32 на win64? или просто обеспечить стабильную работу win32 на win64?

Аноним 28/04/22 Чтв 01:43:52 #16 №2345673 
>>2345672
В ВУЗе на втором курсе у нас есть предмет по Системной Разработке но преподают джаву и поэтому хочу сам найти себе учебник по операционным системам. Нашел по мультиядерности но это для мне рано. Просто изучить процессы мультипоточность, память и всякое такое.
Аноним 28/04/22 Чтв 02:00:52 #17 №2345675 
>>2345673
а, ты студентик
тогда совет единственно верный: НЕ учи системное программирование под винду
если даже и решил системщиком заделаться то учи сразу линукс
а еще лучше изучай явку
Аноним 28/04/22 Чтв 02:45:45 #18 №2345689 
>>2345675
Чем это обосновываешь? Никто не пишет софта для винды больше?
Аноним 28/04/22 Чтв 02:57:37 #19 №2345695 
>>2345617 (OP)
Парсер-комбинаторы на шаблонах С++ никто не писал? Есть примеры?
Аноним 28/04/22 Чтв 03:47:35 #20 №2345711 
>>2345675
>сразу линукс
Как будто линукс это более продвинутая система. Она бесплатная - в этом я вижу единственный плюс. Ну а значит разработка на ней для тех кто готов жертвовать функционалом ради копеек.
Аноним 28/04/22 Чтв 04:00:02 #21 №2345712 
>>2345711
Linux - конструктор в открытых кодах, мультиплатформенный, бесплатный.
Windows - готовое решение из коробки
Аноним 28/04/22 Чтв 04:34:11 #22 №2345714 
>>2345712
Лично мне интересно изучать системы для того чтобы понимать как создавать инфраструктуру для энтерпрайза.
Аноним 28/04/22 Чтв 09:47:37 #23 №2345759 
>>2345712
Windows - операционная система, среда для запуска приложений, оставляющая тебя на едине с самим собой и своими приложениями.
Linux - куча поломанных костылей, говорящих тебе: "чини нас, бесконечно".

Итого: Линукс это РАБота, от тебя не требуется самостоятельности, только делать что "говорят". Винда же наоборот, ничем не обязыкает, ты предоставлен сам себе. Отсюда проистекает разница. Ничтожества без личности любят линукс, т.к. за ним удобно прятаться, ну как рабы прячутся за своим хозяином. А винда наоборот, оставляет тебя одного самого перед собой, так что винду любят полноценные талантливые люди, у которых есть свои цели, которым они и следуют. Таким людяв кнешние чужие приказы только мешаю, отвлекая от своих целей.
Аноним 28/04/22 Чтв 10:17:39 #24 №2345770 
>>2345759
съеби пожалуйста
покормил
Аноним 28/04/22 Чтв 10:32:02 #25 №2345777 
>>2345695
Boost spirit например. Жопаболь от волшебного сочетания функциональных ошибок не соответствия типов аля окамл + крестовых простыней гарантирована, хотя бы на первых порах.
Аноним 28/04/22 Чтв 10:42:46 #26 №2345782 
>>2345770
Неприятно? Линукс это как приусадебное хозяйство (огород) - штука, обеспечикающая бесконечной работой. Такие вещи любят никчемные люди, вроде выживших из ума стариков, которые изжили своё, но тем не менее, как любой человек. не могут пребывать в бездействии, вот и обожают ковыряться в огородах, обеспечивающих их работой. Когда самому делать нечего, только и остается, что подчиняться "кому-то", быть рабом в данном случае огорода. Рабство как оно есть, слетствие отсутствия самостоятельности, собственной личности и жизни.

Свободный же человек - самостоятелен, сам рулит своей жизнью куда ему надо, поэтому ему не нужны "дилеры обеспечивающие работой". Не нужна свободному человеку чужая работа, у него есть свои занятия. Это суть винды - свобода для свободных людей, которую так ненавидят рабы, ведь винда оставляет раба наедине со своей ничтожностью. Рабу в винде просто нечего делать, у ничтожества нет его собственных целей (разрабатывать какой-то свой софт), а значит и занятий своих нет, только чужие, и тут линукс для малолетних ничтожеств так же хорош как огород для престарелых ничтожеств, избавляя от необходимости иметь собственные цели и делать собственные выборы, давая уже готовую работу.
Аноним 28/04/22 Чтв 11:47:59 #27 №2345812 
>>2345782
не забудь обновиться перед выключением, и рапорт индусу написать
Аноним 28/04/22 Чтв 11:50:28 #28 №2345814 
>>2345812
>рапорт индусу написать
Они сами пишутся.
Аноним 28/04/22 Чтв 12:22:12 #29 №2345842 
>>2345782
А может ты пидор?
Аноним 28/04/22 Чтв 13:02:20 #30 №2345866 
>>2345759
>>2345782
>талантливые люди, у которых есть свои цели, которым они и следуют.
двачую у меня есть цель. Хочу использовать её для того чтобы пользоваться тредами.
Аноним 28/04/22 Чтв 15:35:10 #31 №2345987 
вкатываюсь в айти. с++ норм или лучше другой язык для вката выбрать. посмотрел вакансии. для джунов не много и зп не очень. что думаете по этому поводу?
Аноним 28/04/22 Чтв 15:49:13 #32 №2345999 
>>2345987
>что думаете по этому поводу?
Похуй.
Аноним 28/04/22 Чтв 18:16:13 #33 №2346122 
>>2345656
Если кому интересно, то я починил.
Логика выбора корня квадратного уравнения писалась под действительные коэффициенты. Если выбрать корень, который по модулю длиннее, то всё получается шикарно.
Аноним 28/04/22 Чтв 18:23:34 #34 №2346125 
>>2345695
Нагуглил идею, как шлёпать через корутины, может, поможет.
https://github.com/dpacbach/parsco
Аноним 28/04/22 Чтв 18:28:11 #35 №2346129 
>>2345695
И вот ещё вариант.
https://github.com/codeinred/noam
Аноним 28/04/22 Чтв 21:09:23 #36 №2346249 
>>2345689
да, по этой причине
не найдешь работы
Аноним 28/04/22 Чтв 21:18:02 #37 №2346251 
>>2345777
не ты таки путаешь
он спрашивает за парсер комбинаторы, а spirit парсер на основе EBNF грамматики
Аноним 28/04/22 Чтв 21:27:40 #38 №2346258 
>>2345695
вроде бы boost:metaparse использует этот подход, но для парсеров в компайл-тайме

Аноним 28/04/22 Чтв 21:33:27 #39 №2346259 
>>2345714
чел, на крестах никто уже не пишет для энтерпрайза по вполне понятной причине
выбирай шарпик или явку если хочешь в энтерпрайз
Аноним 28/04/22 Чтв 21:36:54 #40 №2346263 
>>2346259
> энтерпрайз
Значение знаешь?
Аноним 28/04/22 Чтв 23:11:40 #41 №2346320 
16105705820573.jpg
>>2345617 (OP)
>2
Аноним 29/04/22 Птн 01:50:29 #42 №2346360 
download (9).jpg
>>2346263
Энтерпрайз это фейспалм, чаще всего.
Аноним 29/04/22 Птн 02:52:48 #43 №2346366 
>>2346125
Жёсткий чел
>>2346129
Да, похоже то, что надо.
Аноним 29/04/22 Птн 07:11:25 #44 №2346392 
>>2346251
>он спрашивает за парсер комбинаторы, а spirit парсер на основе EBNF грамматики
Ну ну.
Аноним 29/04/22 Птн 14:29:56 #45 №2346636 
Pink sus. 1 [kazenokaze].png
>>2345617 (OP)
Какой же крутой язык.
Мог бы давно вкатиться в какой-нибудь PHP, но так впадлу.
Хочется просто сидеть и совершенствоваться в плюсах.
Аноним 29/04/22 Птн 17:51:58 #46 №2346794 
>>2346636
Он божественнен как минимум статической типизацией. Это уже выносит его на миллиард километров выше питона и пыхи.
Но среди именно статических языков - имхо далеко не самый крутой. Не один и не два статических языка круче крестов (среди которых даже внезапно есть сишка). Но с удовольствием пообсуждаю эту тему.
Аноним 29/04/22 Птн 18:15:32 #47 №2346816 
>>2346794
>Не один и не два статических языка круче крестов (среди которых даже внезапно есть сишка)
А можешь подробнее про такие языки рассказать? Я особо не знаю, какие яп есть, а это звучит интересно.

другойанона
Аноним 29/04/22 Птн 19:17:06 #48 №2346888 
>>2345712
ААААААААААА!

ПРИШЛО ВРЕМЯ ПЕРЕСОБИРАТЬ 9ENTOO!

9ENTOO САМ НЕ ПЕРЕСОБЕРЁТСЯ! ПЕРЕСОБЕРИ ЕГО ЕЩЁ РАЗ!

ЗАЧЕМ МНЕ НУЖЕН ШИНДОВС, У МЕНЯ НЕТ ВРЕМЕНИ, ЧТОБ ЕБАТЬСЯ С НИМ, ЛУЧШЕ ЕЩЁ РАЗ ПЕРЕСОБРАТЬ 9ENTOO!

Я ПЕРЕСОБИРАЮ 9ENTOO ПО ТРИ РАЗА В ДЕНЬ, КАЖДАЯ ПЕРЕСБОРКА ЗАНИМАЕТ ДВАДЦАТЬ МИНУТ!

Я ЖИВУ АКТИВНОЙ ПОЛНОЦЕННОЙ ЖИЗНЬЮ, Я УСПЕШЕН И ПОЭТОМУ ЦЕЛЫЙ ДЕНЬ ДОЛБЛЮСЬ В БАШ, А ПОСЛЕ ЭТОГО Я ПЕРЕУСОБИРАЮ 9ENTOO!

ТУПЫЕ ШИНДУЗЯТНИКИ, ОДЕРЖИМЫЕ ПЕРЕУСТАНОВКОЙ ВИНДЫ, А Я СВОБОДНЫЙ ОТ КРЯКОВ-КЕЙГЕНОВ ЧЕЛОВЕК!

СКАЧАТЬ ОПЕНСУРС ПАКЕТ ИЗ РЕПОЗИТОРИЯ МОКРЫЕ МОКРЫЕ ПИСЕЧКИ! SUDO APT-GET INSTALL, MAKE LOCALMODULESCONFIG, ЛУЧШЕ Я ПЕРЕСОБЕРУ 9ENTOO ЕЩЁ РАЗ!

Я ПЕРЕПИШУ ЯДРО, СТАБИЛЬНОСТЬ НЕ НУЖНА!

Я НЕ ПЕРЕСОБИРАЛ 9ENTOO НЕДЕЛЮ, ПОЙДУ ПЕРЕСОБЕРУ!

9ENTOO - ВСЁ ПРОСТО И ПОНЯТНО... А, ОШИБКА СТОП НОЛЬ НОЛЬ НОЛЬ НОЛЬ НОЛЬ А!

ЭТО ЖЕ ОЧЕВИДНО, КАК ЕЁ РЕШИТЬ! ПРИШЛО ВРЕМЯ ПЕРЕСОБИРАТЬ 9ENTOO!

КОКОКОКОКОКОКОКОКОКОКОКОКОКО! КОКОКОКОКОКОКОКОКОКОКОКОКОКО!

ЖМУ/ПИНУС, ШВАБОДКА, ПИТУХИ, КОКОКОКОКОКОКОКОКОКОКОКОКОКО!
Аноним 29/04/22 Птн 19:41:06 #49 №2346930 
>>2346794
Чел, поделись мудростью! Я питонист, и меня вкрай заебала динамическая типизация и отсутствие перегрузки.
Аноним 29/04/22 Птн 19:56:24 #50 №2346951 
>>2346888
Владельцы устройств на IOS и Android ссут тебе в еблет и передают привет. К ним присоединяются, водители BMW, Mercedes и Tesla, да и в общем-то все, у кого есть деньги на прогресс, IoT и личный комфорт.

Виндовс то активировал, чмонька?
Аноним 29/04/22 Птн 21:26:52 #51 №2347005 
>>2345782
Си тред. Тут люди пишут SoC платформу для линукс + миллион драйверов, читают даташит на китайском без переводчика там просто нечего переводить, даташит на 100% состоит из названия и адресов регистров.
Но для винды ты разве что сможешь написать драйвер для мышка-курсор-вжик-вжик, для чего-то другого винда бесполезна.. ну я понял какие у тебя хобби.
Аноним 29/04/22 Птн 21:55:45 #52 №2347031 
>>2345782
О, кажется спермохлёбскую методичку обновили.
Аноним 29/04/22 Птн 23:23:38 #53 №2347098 
>>2346816
Если делать нехуй - managed effects, substructural types, dependent types, hott, session types etc; языки pony, agda, koka...
Если программы писать - haskell, rust
Аноним 29/04/22 Птн 23:57:35 #54 №2347116 
>>2347005
>линукс + миллион драйверов
Поэтому на линуксе нет драйверов, а они все на винде. Пиздеть - не мешки ворочать. На линуксе может и можно теоретически делать драйвера и т.д., но на практике никто не делает, все сидят и правят поломанные конфиги поломанной системы. Так же как на огороде - непаханое поле работы, потому что это огород, постоянно растут сорняки, надо полоть, червяки жрут, надо бороться, сарай разваливается, надо чинить. Вот вся суть линукса, бесконечная бессмысленная работа ради работы - пердолинг, самодроч, маструбация.

>>2347031
У ничтожества кажется врёти.
Аноним 30/04/22 Суб 00:00:28 #55 №2347118 
Ну ты и дебил блять.
Аноним 30/04/22 Суб 00:09:02 #56 №2347125 
>>2347118
Если твоя моргалка светодиодами настолько убога, что требует линукс, достаточно wsl. Убогая затычка для убогих огрызков, кроме затыкания таких дыр больше ни на что не годится.
Аноним 30/04/22 Суб 00:14:49 #57 №2347127 
>>2347125
Какой нахуй линукс блять? При чём тут вообще линукс?
Аноним 30/04/22 Суб 00:18:07 #58 №2347128 
>>2347116
> У ничтожества кажется врёти.
Проиграл. Да, конечно, я ничтожество, а ты охуенный. А теперь иди нахуй, долбоёб.
Аноним 30/04/22 Суб 07:31:05 #59 №2347183 
>>2346794
> реди которых даже внезапно есть сишка
Хорошо, вот ты говоришь круче. В чем-то круче, в остальном не хватает. Нет классов, а значит проблемы с поддержкой большого кода. Нет конструкторов, из этого следует отсутствие смарт поинтеров. А как без динамического полиморфизма реализовать фабричный метод и стратегию? Ссылок нет. А шаблоны где, я без них не могу уже? И недавно я узнал, что даже динамических массивов нет, тупа дается тебе указатель и все. Че там с поддержкой многопотока, мьютексами и лямбдами я вообще не знаю.
Аноним 30/04/22 Суб 10:48:47 #60 №2347189 
>>2347183
>А как без динамического полиморфизма
Ну это я думаю накостылять в сишке можно, хотя и неудобно и багоопасно. Думаю кресты в том числе и возникли, чтобы убирать эти костыли пол капот.
Аноним 30/04/22 Суб 11:07:07 #61 №2347194 
>>2347189
Видел я это в потрохах Open SSL. Просто пиздец.
Ну и COM тоже под сути то про это.
Аноним 30/04/22 Суб 11:09:38 #62 №2347195 
>>2347183
>В чем-то круче, в остальном не хватает.
Чего?
>Нет классов, а значит проблемы с поддержкой большого кода.
Почему?
>Нет конструкторов, из этого следует отсутствие смарт поинтеров.
Зачем?
>А как без динамического полиморфизма реализовать фабричный метод и стратегию?
Зачем?
>Ссылок нет.
Зачем?
>А шаблоны где, я без них не могу уже?
Зачем?
>даже динамических массивов нет
Есть.
>тупа дается тебе указатель и все
Что такое массив по-твоему?
>Че там с поддержкой многопотока, мьютексами
Есть.
>лямбдами я вообще не знаю
Зачем?
Аноним 30/04/22 Суб 11:24:51 #63 №2347203 
>>2347183
А тут на самом деле вопрос не к сям, а к крестам. Ведь в крестах нет ООП (на самом деле). Почему нет? Потому что без инкапсуляции нет ООП. А где инкапсуляция в крестах? Её нет. Когда у тебя код ломается, то все твои объекты РРАЗ и протекают, и вместо объектов ты дебажишь просто оперативную память (как в сях), потому что в сиплюсплюс ты можешь переписать оперативную память произвольно в любом месте и нет ни единого человека или машины во всей вселенной, кто мог бы тебе это запретить и соответственно ни в одном языке, где ты можешь так делать - нет инкапсуляции - нет ООП. И тут возникает вопрос - а где профит-то, если в языке по факту та же байда?
Аноним 30/04/22 Суб 11:31:33 #64 №2347209 
>>2347203
Ебать шиза
Аноним 30/04/22 Суб 11:34:50 #65 №2347210 
>>2347183
В сишке можно сделать всё, вопрос в целесообразности. Так как компилятор тупой и примитивный, все эти свистоперделки придется переносить в рантайм, а это доп расходы и доп проблемы (с безопасностью например)
Вообще, щас как я понимаю тренд на компиляторно-ориентированный код, чтобы самого машинного было минимум и он был очень простой см новые фичи стандартов по типу constexpr/consteval и философию раста как такового
Аноним 30/04/22 Суб 11:53:55 #66 №2347217 
>>2347209
Давай, когда начнём?
Аноним 30/04/22 Суб 12:38:55 #67 №2347243 
>>2347210
>философию раста
В чем она заключается? Я пока боюсь касаться его даже 20 метровой палкой.
Аноним 30/04/22 Суб 12:43:45 #68 №2347245 
>>2347243
>В чем она заключается?
Зачем что-то писать, когда можно переписать готовое.
Аноним 30/04/22 Суб 13:33:29 #69 №2347273 
>>2347245
Не думаю что это раст. Это вообще для всех языков.
Аноним 30/04/22 Суб 13:38:19 #70 №2347278 
>>2347203
Всё так. Если тебе нужен низколевельный язык, а нужен он в двух случаях:
1. Не похуй на скорость
2. Нет доступа к управляемому окружению (драйвера, ОС, микроконтроллеры и тому подобное)
То юзаешь си
Во всех остальных случаях юзаешь управляемые языки - джавы, шарпы, пистоны, тысячи их.
Кресты это попытка скрестить ужа с ежом - ооп с неуправляемым языком. В итоге вобрало в себя худшее от обоих миров.
Аноним 30/04/22 Суб 14:05:34 #71 №2347292 
>>2347194
Да и линукс. Любая приблуда является файлом, полиморфизм во все поля.
Аноним 30/04/22 Суб 15:08:33 #72 №2347342 
>>2347203
Профит в структурировании кода, пчел. Инкапсуляция и вне ООП помогает не скатывать код в говно как в процедурных, так и в функциональных языках.

>потому что в сиплюсплюс ты можешь переписать оперативную память произвольно в любом месте и нет ни единого человека или машины во всей вселенной, кто мог бы тебе это запретить
Ты это можешь сделать в любом (даже managed) языке.
Но не делаешь — потому что даже со всем своим ебланским нигилизмом который вылечится как поработаешь хотя бы пол годика понимаешь что это отстрел своей же ноги.

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

>>2347243
В том, чтобы переносить всё что можно по максимуму в компайлтайм. Куда и плюсы двигаются, тащемта.
Аноним 30/04/22 Суб 15:18:46 #73 №2347353 
>>2347342
>Инкапсуляция и вне ООП помогает
Причём тут инкапсуляция? Она в крестах как раз отсутствует, об этом и речь.
>Ты это можешь сделать в любом (даже managed) языке
Вопрос - какой ценой? Диких изъёбств? Ну ок, я согласен на такой расклад. Другое дело - когда ты можешь это делать постоянно, систематически, непреднамеренно, и компилятор тебе в этом никак не помешает.
>который вылечится как поработаешь хотя бы пол годика
Лучше не переходи на личности, иначе будешь обсираться в дальнейшем ещё сильнее, чем с этим детектом. Держись в лоне дискуссии.
На остальное возражений нет.
Аноним 30/04/22 Суб 15:28:01 #74 №2347361 
>>2347353
Вернее дело не в изъёбствах, в ряде управляемых языков это достаточно просто делается, короче если интересно я поясню в чём разница между подходами.
Аноним 30/04/22 Суб 15:29:18 #75 №2347364 
16321909577950.jpg
Поясните за программирование под линукс.
Gtkmm, из документации только официальная невменяемая, примеров и учебников нет даже на английском. Плохо ищу или не туда лезу?
Аноним 30/04/22 Суб 15:34:37 #76 №2347373 
>>2347278
игры, браузеры, рантаймы managed языков, hpc
везде где нужен си и ты за строгие api и dry > kiss

>>2347195
зачем же в си выражения существуют, с операторами всякими, если можно чисто тройками как в асме писать
Аноним 30/04/22 Суб 15:47:38 #77 №2347384 
>>2347373
>зачем же в си выражения существуют, с операторами всякими, если можно чисто тройками как в асме писать
Причем тут асм? Очередной крестовик не может в аргументирование своей точки зрения?
Аноним 30/04/22 Суб 16:13:18 #78 №2347396 
>>2347373
>игры, браузеры, рантаймы managed языков, hpc
Базара нет, во всех этих случаях юзаешь си, либо пишешь, что юзаешь кресты, чтобы нанять достаточно крестовиков (которых тупо больше), но заставляешь их писать си-стайл. Так многие те же геймдевы делают, потому что от протекающих абстракций крестов вреда нередко больше, чем пользы.
Аноним 30/04/22 Суб 16:34:19 #79 №2347415 
>>2347278
С++ используется для 2. С++ огромный яп, но почему не использовать только часть яп, которая пригодится в каком-то случае и не использовать если не нужно?
Как бы, удобно, что из С есть возможность перейти к заимствованию фич из С++.
Аноним 30/04/22 Суб 16:43:25 #80 №2347425 
>>2347415
>>2347278
Говорить что Си круче С++ может только микрочелик который никогда тольком с Си не мучился по настоящему. Полнейший нуб или жирный Rust тролль.
Аноним 30/04/22 Суб 16:47:52 #81 №2347427 
Без названия.jpg
А что думаете про Ди? Теперь-то кресты уже точно не нужны?
Си + Ди хватит на все случаи.
Аноним 30/04/22 Суб 16:48:42 #82 №2347429 
>>2347427
Охуенно
Аноним 30/04/22 Суб 16:48:48 #83 №2347430 
>>2347384
в асме выражения пишутся не так как в си
т.к. асм близок к машинному коду, си очевидно компилируется в похожие инструкции
т.е. происходит некая трансформация выражений из смешанной записи, включающий в себя инфиксные, префиксные операторы, вызовы функций и т.п, в близкую к машинной
я упомянул асм чтобы указать, что даже компилятор си делает некоторые преобразования кода, целью которых является облегчение работы программиста
и многие вещи в спп, например шаблоны, так же упрощают жизнь программисту
конечно, можно сказать что в спп эти вещи излишни, а в си идеальный баланс между абстракциями на уровне языка, но
спп обрёл широчайшее применение, и появился после си, так что видно, что многие не согласны с такой позицией. просто отрицать пользу всех этих вещей. жизнь упрощают, вот "Зачем".

>>2347396
Я в команде на плюсах не работал, вполне допускаю, что использование некоторых вещей в плюсах, реализуемых лишь как побочный эффект длительного нагромождения возможностей языка, может помешать взаимодействию программистов с разным уровнем опыта, разными используемыми подходами и ТД. Пример - использование мутабельных значений во время компиляции. Но как любые плохие практики это нужно контролировать. Почему-то популярные языки (и Си в том числе) не считают ошибкой компиляции неверно (грамматически или стилистически) названный идентификатор. Зато везде есть свои стили кода. Плюс спп это выразительность и низкоуровневость, тут он пока один из лучших, как минимум потому что не много соперников (Д, Раст, все? из более менее известных). Минус - легаси и долгое развитие. В си не такого нагромождения, но и нет таких возможностей. Писать игру на си себе дороже ибо придется иногда почти повторять код (шаблоны), писать ручками многие автоматизирующиеся компилятором вещи (раии, корутины) итд. При этом судя по cppreference в си есть к.с. _Generic например.
И managed императивные яп в основном довольно слабые (Шарп, жаба), а функциональные если выразительны, то неразвиты во всем кроме самих яп (хаскель, полупруверы). Лично я считаю что и си и спп надо и вполне возможно заменить (хотя бы просто дропнув легаси, задизайнив все с чистого листа, не делая нечто слишком радикальное, как проверятор боровов у раста, который видимо и мешает местами).


зачем приходить в тред по плюсам с хейтом и с
>Очередной крестовик не может в аргументирование своей точки зрения?
троллингом?
Аноним 30/04/22 Суб 16:52:09 #84 №2347431 
>>2347427
Не пробовал, хотел ибо вроде много удобного метапрограммировпния сразу, а не как статич рефлексия в спп которую ещё хуй пойми когда завезут. Но что слышал, так это:
- нестабильный компилятор, стдлиба (2 шт?)
- gc / nogc
- тихое коммунити, из-за чего видится что и экосистема слабо развита
Это из жирных причин, вроде было чето по мелочи но мб пофиксил уже.
Аноним 30/04/22 Суб 17:13:19 #85 №2347438 
>>2347353
>Она в крестах как раз отсутствует, об этом и речь.
При том что она её не может быть в языке, маня. Это чисто концепция написания кода.

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

>>2347361
Ну давай поясняй, чего томишь-то.
Аноним 30/04/22 Суб 17:14:40 #86 №2347440 
>>2347364
> Gtkmm
Хочешь плюсы — лучше возьми Qt.

>из документации только официальная невменяемая, примеров и учебников нет даже на английском. Плохо ищу или не туда лезу?
Да нет, линукс он весь такой. Все в рот ебали сидеть писать тебе доки, это не микрософт с армией технических писателей.
Аноним 30/04/22 Суб 17:17:03 #87 №2347442 
>>2347396
Да нет, там обычно только часть плюсов выкидывают, типо исключений. А вот на всякие RAII, шаблоны и иже с ними в той же разработке браузеров дрочат настолько, что прям усираются вымазывая всё смартпоинтерами.
Аноним 30/04/22 Суб 17:20:20 #88 №2347443 
>>2347427
Фанател от него лет 10+ назад, когда ещё был D1 и какие-то надежды на язык.
Потом авторы решили дропнуть нахуй весь софт на нём написанный и сделать D2 ради синтаксических плюшек, половина коммьюнити разбежалась. Я фанател ещё пару лет, а потом повзрослел и понял, что авторы — инфантилы ебаные, мне даже лень писать всю хуйню, которая накипела которые просто хотят ковыряться в компиляторе, а не развивать язык.

Сейчас он никому нахуй не нужен, даже в теории. RIP.
Аноним 30/04/22 Суб 17:20:50 #89 №2347444 
>>2347364
https://docs.gtk.org/
>>2347440
>лучше возьми Qt.
Нихуя не лучше.
>>2347430
>зачем приходить в тред по плюсам с хейтом и с
>>Очередной крестовик не может в аргументирование своей точки зрения?
>троллингом?
Это не троллинг, каждый тред начинается с этого.
Аноним 30/04/22 Суб 17:26:14 #90 №2347447 
>>2347444
>Нихуя не лучше.
Qt:
— Нормальная документация (не прям заебись, но всегда up to date и +- и есть на всё);
— Кроссплатформа (работает от мака и шиндовса до андроида и встроенной залупы в машинах);
— Фреймворк с решениями на все случаи жизни.
— Написан на плюсах и юзает современные фичи, а не куча обвязок с кривыми интерфейсами.

GTK:
Аноним 30/04/22 Суб 17:33:47 #91 №2347450 
16038579392850s.jpg
>>2347430
>т.к. асм близок к машинному коду
Аноним 30/04/22 Суб 17:36:40 #92 №2347451 
>>2347447
Зачем писать на кьюте, когда система гткшная и наоборот? Фрейм выбирается не из-за удобства кодера, а из-за того, как он впишется в целевую платформу.

Electron:
— Нормальная документация (не прям заебись, но всегда up to date и +- и есть на всё);
— Кроссплатформа (работает от мака и шиндовса до андроида и встроенной залупы в машинах);
— Фреймворк с решениями на все случаи жизни.
— Написан на плюсах и юзает современные фичи, а не куча обвязок с кривыми интерфейсами.
Аноним 30/04/22 Суб 17:37:40 #93 №2347452 
>>2347440
Qt к санкциям присоединился, да и не тру с его лицензиями что-то.

>>2347444
Предлагаешь исходный сишный gtk?
Аноним 30/04/22 Суб 17:41:17 #94 №2347456 
>>2347451
>Фрейм выбирается не из-за удобства кодера, а из-за того, как он впишется в целевую платформу.
На линуксе "нативного" тулкита всё равно не существует, поэтому кьют туда вписывается точно так же как гтк. А если это не хэлловорд — то будет даже консистентнее, ибо фреймворк, лол.
Аноним 30/04/22 Суб 17:42:52 #95 №2347457 
>>2347452
>Qt к санкциям присоединился, да и не тру с его лицензиями что-то.
Ну ты же не собираешься коммерческий софт делать? Для линукса такое делать — быть ебланом.
Тогда для тебя всё ок, и на санкции похуй, и на лицензию.
Аноним 30/04/22 Суб 17:47:16 #96 №2347459 
>>2347452
>Предлагаешь исходный сишный gtk?
Предлагаю разграничить фронт и бек, чтобы в случае чего, можно было легко портировать на другой фрейм или вообще использовать программу без гуя.
Аноним 30/04/22 Суб 17:58:33 #97 №2347469 
image.png
>>2347364
бери open motif, смотри какой няшный:
Аноним 30/04/22 Суб 18:14:51 #98 №2347477 
>>2347443
вроде как zig щас хочет тоже "как сишка, только лучше"
А можешь подсказать, стоит вообще щас на Д смотреть как расширение кругозора, мб на нем че-нибудь запилить, вместо плюсов не хейчу плюсы, но легаси убивает
Аноним 30/04/22 Суб 18:20:59 #99 №2347480 
>>2347353
Только в обморок не падай в си тоже инкапсуляция есть
Аноним 30/04/22 Суб 18:26:33 #100 №2347485 
>>2347450
чё сказать хотел? в унике курсач делал по jit x86_64 машинный код руками генерировал. Потом некст семестр легчайше сдал все лабы по всему, не имея именно в асме никакого опыта, вплоть до графических.
Аноним 30/04/22 Суб 18:27:19 #101 №2347487 
>>2347485
лабы по асму*
Аноним 30/04/22 Суб 18:32:34 #102 №2347493 
>>2347477
>вроде как zig щас хочет тоже "как сишка, только лучше"
Ну сделать сишку но лучше — задача куда проще. Да и судя по сайту авторы там понимают что нужно делать, и заявляют что уже кросскомпиляция есть, выглядит интересно.

>А можешь подсказать, стоит вообще щас на Д смотреть как расширение кругозора
Для такого можешь и посмотреть вообще на что угодно, там много крутой фигни вроде миксинов. Просто он проебал все ниши куда его можно было засунуть и теперь годен только для такого вот досуга.
Аноним 30/04/22 Суб 18:34:13 #103 №2347495 
16500156730160.jpg
>>2347485
Лабы делал, а что такое асм так и не понял.
Аноним 30/04/22 Суб 18:46:07 #104 №2347499 
>>2347495
Очередной не может в аргументирование своей точки зрения?
Аноним 30/04/22 Суб 19:01:24 #105 №2347505 
>>2347499
Чел ну херня у тебя в том, что асм близкий к машинному коду, хотя это машинный код всегда и есть
мимо другой чел
Аноним 30/04/22 Суб 19:16:56 #106 №2347514 
>>2347505
Не совсем, во первых асм это текст. Во-вторых в асме есть макросы, перегруженные мнемоники (mov в асме это и мув в память и в регистр), идентификаторы для меток итп
Аноним 30/04/22 Суб 19:21:55 #107 №2347516 
>>2347505
Нука-нука поясни, что коенкретно ты имеешь в виду. Запасаемся попкорном.
Аноним 30/04/22 Суб 19:38:56 #108 №2347523 
Был массив объектов, который записали в память. У меня есть указатель на этот массив. Если я просто скастану нужный кусок памяти к объекту (точнее даже к структуре; никаких методов нет, просто друг за другом переменные идут), то мне анализаторы ругаются на ub. Что им не нравится и что мне делать?
Аноним 30/04/22 Суб 19:40:14 #109 №2347524 
>>2347523
Пример кода.
Аноним 30/04/22 Суб 19:43:32 #110 №2347527 
>>2347524
struct s{
int a, int b}

char ⚹ data - данный массив.
s ⚹x = (s⚹)(&data[8])
x->a=10
x->b=10

Код примерно такой.
Аноним 30/04/22 Суб 19:49:06 #111 №2347532 
>>2347527
>int, int
>[8]
Инты не всегда 4 байта и надо учитывать выравнивание структуры.
Аноним 30/04/22 Суб 19:52:56 #112 №2347535 
>>2347532
Ну int32_t, окей. Это не так важно тут. Вопрос не в этом, я просто забыл дописать точный размер
Аноним 30/04/22 Суб 19:54:56 #113 №2347537 
>>2347535
Я в этом куске кода не вижу уб.
Аноним 30/04/22 Суб 20:01:00 #114 №2347542 
>>2347537
Оно есть. Нельзя обращаться к массиву char'ов, как к объектам типа T. Это,вроде, нарушение strict aliasing rule.
Я помню, что так нельзя делать, потому что есть замечательный пример когда это стреляет, но сейчас писать немного лень. Вот я хз как фиксить это
Аноним 30/04/22 Суб 20:06:05 #115 №2347548 
>>2347415
>Как бы, удобно, что из С есть возможность перейти к заимствованию фич
Да, но там из фич есть ещё и сомнительные штуки уровня медленной компиляции. Не забываем, что интероперабельность между сями и крестами охуенная (внезапно лучше, чем между крестами и крестами), поэтому лучше, если уж нужно дорабатывать крестовый проект например - сишную часть писать на си, а не крестах (и ни в коем случае не компилировать её крестовым компайлером, хотя он это и может). Есть и другие причины держать сишный код в сях.
>>2347425
Пошло нахуй от личности, говно.
>>2347427
Норм язык, лучше и чище крестов, эдакие кресты-которые-сделаны-правильно.
>>2347430
>Плюс спп это выразительность и низкоуровневость
Выбери одно. Ооп в крестах не работает, за ооп надо идти в другие языки. В итоге имеем всё тот же низкоуровневый язык, просто возмождностей выстрелить в ногу стало неизмеримо больше. Почему так - выше говорил.
Фичи фичами, а кор языка-то не работает.
>Очередной крестовик не может в аргументирование своей точки зрения?
Вопросы к тому, кто это написал, а не ко мне. Я не позволяю себе таких дерзостей первым.
>>2347438
Пошло нахуй, говно х2. Либо разговариваешь как человек, либо теряешь право участвовать в дискуссии.
Аноним 30/04/22 Суб 20:11:27 #116 №2347554 
>>2347480
То что у тебя интересное представление об инкапсуляции, я уже заметил, но private и protected это не инкапсуляция, когда багованный код (заметь, в отличие от джавы - именно багованный код, а не сознательное залезание ручками) может переписать всю память.
У меня простой вопрос: если у меня есть указатель на объект - этот указатель может быть испорченным? Что случится, если я начну что-то с ним делать? Программа крашнется или может случиться кое-что похуже? Вот в целом и всё, что мимокроку нужно знать по теме "инкапсуляция в с++"
Аноним 30/04/22 Суб 20:12:05 #117 №2347556 
>>2347527
Размер структуры (в байтах) получай через sizeof(s). Фактический размер зависит от компилятора (он делает выравнивание, а также добавляет указатели на таблицу/ы виртуальных функций и указатели на виртуальных предков) и от размера типов (int не обязательно 4).
То есть надо так:
s x = reinterpret_cast<s>(data + sizeof(s) * element_id);
Аноним 30/04/22 Суб 20:13:30 #118 №2347559 
>>2347542
Кто тебе говорит, что там неопределенное поведение компилятор или анализатор, какие версии?
https://godbolt.org/z/8WT5he51M
Аноним 30/04/22 Суб 20:38:08 #119 №2347584 
>>2347548
>>Плюс спп это выразительность и низкоуровневость
>Выбери одно. Ооп в крестах не работает, за ооп надо идти в другие языки. В итоге имеем всё тот же низкоуровневый язык, просто возмождностей выстрелить в ногу стало неизмеримо больше.
Почему ооп не работает? Ну и ооп это не то, что отличает выразительные от невыразительных или низкоур от высокоур. В хаскеле нет ооп.

>>2347554
Как связано наличие уб и отсутствие инкапсуляции? А если я шнур выдерну (оп пик), в жабе все дальше работать будет? private память на диск сохранит? или в облако сразу
Аноним 30/04/22 Суб 20:38:40 #120 №2347586 
>>2347554
>То что у тебя интересное представление об инкапсуляции, я уже заметил
Это не я, это уже второй анон прокекал с тебя.

>но private и protected это не инкапсуляция, когда
Без "когда", это просто не про инкапсуляцию, тупое.

>этот указатель может быть испорченным?
Может.

> Что случится, если я начну что-то с ним делать?
Зависит от окружения.

>Вот в целом и всё, что мимокроку нужно знать по теме "инкапсуляция в с++"
Где тут инкапсуляция? При чём она тут вообще?
Аноним 30/04/22 Суб 20:39:40 #121 №2347587 
>>2347548
>Пошло нахуй, говно х2. Либо разговариваешь как человек, либо теряешь право участвовать в дискуссии.
Жесть залётные нормисы ныне обидчивые.
Привыкай зайка, тут такие правила.
Аноним 30/04/22 Суб 20:46:32 #122 №2347594 
>>2346794
>Он божественнен как минимум статической типизацией.
https://sites.radford.edu/~ibarland/Manifestoes/whyC++isBad-example.cc
Если принять логику что "но так же ни кто не пишет", то с тем же успехом можно и с Си не слазить.
Аноним 30/04/22 Суб 20:47:27 #123 №2347596 
>>2347514
>Не совсем, во первых асм это текст.
Асм — это конкретно представление машинного кода.

>Во-вторых в асме есть макросы
fasm/nasm/yasm/etc — это хайлевел ассемблеры, предназначенные конкретно для написания кода, а не отображения hex кодов в человекочитаемом виде.
Аноним 30/04/22 Суб 20:51:41 #124 №2347600 
>>2347596
>fasm/nasm/yasm/etc — это хайлевел ассемблеры, предназначенные конкретно для написания кода, а не отображения hex кодов в человекочитаемом виде.
Да что такое ты, нахер, несёшь?
Аноним 30/04/22 Суб 20:55:47 #125 №2347603 
16414986292540.mp4
>>2347600
https://en.wikipedia.org/wiki/High-level_assembler
>пикрил: врёти
Аноним 30/04/22 Суб 21:00:00 #126 №2347606 
>>2347516
Ту эт чел нормально расписал
>>2347596
дебичи щас будут доебываться да терминов, хотя сами их не знают
Аноним 30/04/22 Суб 21:03:32 #127 №2347609 
>>2347603
Зачем ты визжишь?

Я про это:
>конкретно для написания кода, а не отображения hex кодов в человекочитаемом виде
Что это должно значить, вообще?
Аноним 30/04/22 Суб 21:09:56 #128 №2347617 
>>2347596
>Асм — это конкретно представление машинного кода.

Ассемблер - это программа. Язык ассемблера - язык разметки для последующего составления (ассемблером) исполнимого образа. На языке пишут (исходный) текст, а не код.
Аноним 30/04/22 Суб 21:10:43 #129 №2347618 
>>2347609
0х89 0х67 0хFF => mov rax -127
мимо другой чел
Аноним 30/04/22 Суб 21:11:20 #130 №2347620 
16433809607150.jpg
>>2347609
Так стыдно что пытаешься перефорсить?

>Что это должно значить, вообще?
>>2347514
>макросы, перегруженные мнемоники (mov в асме это и мув в память и в регистр), идентификаторы для меток итп

или могу так

>>2347603
>https://en.wikipedia.org/wiki/High-level_assembler
Аноним 30/04/22 Суб 21:14:07 #131 №2347622 
16414546622790.jpg
>>2347617
C++ - это программа. Язык C++ - язык разметки для последующего составления (ассемблером) исполнимого образа. На языке пишут (исходный) текст, а не код.
Аноним 30/04/22 Суб 21:15:54 #132 №2347625 
>>2347622
>Язык C++ - язык разметки для последующего составления (ассемблером) исполнимого образа
C++, конечно.
Аноним 30/04/22 Суб 21:21:33 #133 №2347630 
>>2347622
>C++ - это программа.
Нет.
> Язык C++ - язык разметки для последующего составления (ассемблером) исполнимого образа.
Нет. Это ЯВУ.
Аноним 30/04/22 Суб 21:24:34 #134 №2347631 
>>2347618
>0х89 0х67 0хFF => mov rax -127
Нет. fasm/nasm/yasm и прочие "хайлевел ассемблеры" так не делают. Это делают дизассемблеры.
Аноним 30/04/22 Суб 21:26:58 #135 №2347636 
16417548216301.png
>>2347631
>Нет. fasm/nasm/yasm и прочие "хайлевел ассемблеры" так не делают.
Там стрелочка просто поворачивается.

>>2347630
>Ассемблер - это программа.
Нет.
> Язык C++ - язык разметки для последующего составления (ассемблером) исполнимого образа.
Нет. Это ЯНУ.
Аноним 30/04/22 Суб 21:28:07 #136 №2347637 
>>2347636
>> Язык ассемблер - язык разметки для последующего составления ( ассемблер) исполнимого образа.
фикс
у меня уже стек оверфлоувнулся
Аноним 30/04/22 Суб 21:31:29 #137 №2347639 
>>2347636
>ЯНУ
Нет такого понятия. Сам выдумал? И что же это такое? И зачем нужно?

>>Ассемблер - это программа.
>Нет.
А что же это?

>стрелочка просто поворачивается
Ну так, поверни и объясни, что там имелось в иду?
Аноним 30/04/22 Суб 21:33:06 #138 №2347642 
>>2347639
>Нет такого понятия.
Он не знает...
sage[mailto:sage] Аноним 30/04/22 Суб 21:35:05 #139 №2347644 
ЯСРУ
Аноним 30/04/22 Суб 21:37:39 #140 №2347645 
>>2347644
>ЯСРУ
Языковая система распределения управления? Это та, которая в расте использовалась?
Аноним 30/04/22 Суб 21:38:06 #141 №2347646 
>>2347644
ВТРЕДЕ.
Аноним 30/04/22 Суб 21:39:47 #142 №2347648 
16414638346390.png
>>2347639
>Нет такого понятия. Сам выдумал? И что же это такое? И зачем нужно?
https://en.wikipedia.org/wiki/Low-level_programming_language

>А что же это?
Язык, блять. Если прям упарываться в терминологию — семейство языков как лишп.

>Ну так, поверни и объясни, что там имелось в иду?
То что ты обзываешь конкретные программы (nasm/fasm/etc) языком. Это всё равно, что назвать msvc/clang/gcc/etc С++-ом.

>>2347644
Я/МЫСРЁМ.
Аноним 30/04/22 Суб 21:48:19 #143 №2347652 
>>2347648
>То что ты обзываешь конкретные программы (nasm/fasm/etc) языком
Я обзываю? Где?

>Язык, блять.
Это assembly. А assembler? Короче уточняй, когда говоришь, что имеется в виду: программа или язык.

>Low-level_programming_language
То есть ЯНУ - это все языки, которые не-ЯВУ. Т.е. это ассемблер. Т.е., ты хочешь сказать, что ассемблер - это ЯНУ, а ЯНУ - это ассемблер?
Аноним 30/04/22 Суб 21:54:26 #144 №2347657 
>>2347596
Assembler - переведи. И то, тогда получается я назвал ассемблером хай левел ассемблер - похуй, нет? Надо срать в тред? Я в любом случае приводил его просто как пример чего-то ниже уровнем чем си..

бтв
тут звучит норм
>>2347617
тут какую-то хуйню высрал типо слова поменял, молодец
>>2347622
Аноним 30/04/22 Суб 22:05:55 #145 №2347662 
Screenshot 2022-04-30 at 21.52.31.png
16433955670090.png
>>2347652
>Это assembly. А assembler?
Сорри, ват лангвич ду ви спикинг райт нау? Мэйби рашн?
У нас тут ассемблером называют всё это, и более приоритетный вариант интерпритации этого слова — язык.

>То есть ЯНУ - это все языки, которые не-ЯВУ. Т.е. это ассемблер. Т.е., ты хочешь сказать, что ассемблер - это ЯНУ, а ЯНУ - это ассемблер?
Ну ты ссылку-то открой.

>>2347657
>Assembler - переведи.
Пчел, переведи bear. А теперь to bear.
Потом left и to left.
После — продолжай, пока не поймёшь что дословно вне контекста слова переводить смысла нет.

>Надо срать в тред?
Офк надо, это же суть всех срачей в интернете. Можно доебаться до пердежа и задоминировать его.
Аноним 30/04/22 Суб 22:09:46 #146 №2347666 
>>2347662
>bear
Медведь.
>to bear
Медведить.
>left
Левый.
>to left
Леветь.
>После — продолжай, пока не поймёшь что дословно вне контекста слова переводить смысла нет.
Нихуя не понял.
Аноним 30/04/22 Суб 22:18:12 #147 №2347671 
Черти, заебали срать в тред, давайте че нить нормальное уже
Я свое вкину: появилась надобность и не только у меня в том, чтобы во время компиляции пробежаться по полям структуры и сделать че-нить (допустим записать в компайл тайм массив sizeof этих полей для сериализации)
Так вот, индусы люди в интернете советуют макросы, ну это же пиздец. Есть у кого мысли по этому поводу?
Аноним 30/04/22 Суб 22:18:51 #148 №2347673 
>>2347662
>более приоритетный вариант
Нет никакого приоритета. Только контекст или уточнение.
>Ну ты ссылку-то открой.
Так сказать то ты что хотел? Для чего это всё?
Аноним 30/04/22 Суб 22:20:33 #149 №2347674 
>>2347671
>появилась надобность и не только у меня в том, чтобы во время компиляции пробежаться по полям структуры и сделать че-нить (допустим записать в компайл тайм массив sizeof этих полей для сериализации)
constexpr, примерно так
https://github.com/katursis/StringObfuscator
Аноним 30/04/22 Суб 22:25:21 #150 №2347676 
>>2347671
>Черти, заебали срать в тред, давайте че нить нормальное уже
Что еще делать на форумах? Нового ничего нет, все старое уже миллион раз обсосано на каждом из форумов и гуглиться за пару минут, что-то сложное решать за кого-то никто не хочет, максимум направить.
Аноним 30/04/22 Суб 22:25:57 #151 №2347677 
>>2347676
>ться
Я во временах запутался.
Аноним 30/04/22 Суб 22:28:40 #152 №2347679 
16341352787680.jpg
>>2347673
>Так сказать то ты что хотел? Для чего это всё?
Аноним 30/04/22 Суб 22:29:10 #153 №2347680 
00be7861d215393ca559a8d342db1611.jpg
>>2347666
translate.google.com < сюда
Аноним 30/04/22 Суб 22:43:00 #154 №2347685 
>>2347671
статическая рефлексия, мб в спп23-26 завезут
есть на кланг расширение с этим
выше упоминали D, там это есть)
а так да, макросы. Еще вроде можно попытаться сыницилизировать объект с разным колвом полей пока не сработает
Аноним 30/04/22 Суб 23:01:00 #155 №2347694 
>>2347671
>чтобы во время компиляции пробежаться по полям структуры и сделать че-нить
Boost fusion какой нибудь?
Аноним 30/04/22 Суб 23:26:11 #156 №2347698 
>>2347685
Понял, грустно конечно, там выше по треду советовали costexpr и буст, но это походу не особо то (в клиентский код лезть не хочется)
Короче буду хуи сосать кодогенерировать constexpr мапу через шланговский индексер видимо
Аноним 01/05/22 Вск 00:01:32 #157 №2347719 
>>2347559
Вроде valgrind. Короче я хуй забил и просто байтики начал копировать, вместо объектов.
Аноним 01/05/22 Вск 00:12:19 #158 №2347727 
16450182794980.jpg
>>2347666
Cука, проиграл. Хороший тред.
Аноним 01/05/22 Вск 00:15:15 #159 №2347729 
Есть система компьютеров без центрального узла. Они обмениваются информацией, поэтому у каждого информация о всей сети может отличаться от информации у другого. Существуют ли механизмы, позволяющие "стабилизировать" данные у компьютеров - то есть каждый должен иметь одинаковую информацию? И какие ограничения тут могут быть? Если одна половина заходит по четным дням недели, а вторая по нечетным, то никак прийти к одному виду не получится, но надо хотя бы как то контролировать это.
Аноним 01/05/22 Вск 01:06:38 #160 №2347772 
>>2347729
Невозможно. Центральный узел всё равно нужен, в явном или неявном виде.
Аноним 01/05/22 Вск 01:15:01 #161 №2347775 
>>2346816
Java божественен.
Аноним 01/05/22 Вск 01:26:23 #162 №2347784 
7xi1YywUcorrY0oGhtQo2vb27oyqANJV7g0EZJb63bHLEw8VrHvcdI0fO1d[...].jpg
Кто-нибудь может объяснить новичку какого хуя все до сих пор еще не собирается в контейнерах?

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

Заранее прошу не кидаться говном. Ведь сейчас же считай уже большинство перешло на docker driven.
Аноним 01/05/22 Вск 01:34:38 #163 №2347787 
>>2347784
Поясняю: плюсы мёртвый язык. На той же джаве уже лет 20 всё собирается через системы сборки типа мавена и никто ни с чем не пердолится, собирается всё 1 командой.
Аноним 01/05/22 Вск 02:20:55 #164 №2347793 
>>2347772
Вспомни биткоин
Аноним 01/05/22 Вск 02:42:52 #165 №2347794 
>>2347784
Если тебе просто либа нужна - скачай её пакетами. Если кастом - ебись сам. Откуда автору знать, под какую платформу и железку тебе надо. А если там докера не завезли, то педалить кросс компиляцию для либы и всех зависимосетй, необходимых для деплоя?
Аноним 01/05/22 Вск 03:38:12 #166 №2347798 
>>2347787
CMake, msbuild, conan/vkpcg
Аноним 01/05/22 Вск 03:56:19 #167 №2347799 
>>2347798
А перед этим поебись, чтобы работало на любой системе с любыми соглашениями, компиляторами, шеллами и форматами скриптов сборки.
Аноним 01/05/22 Вск 07:12:35 #168 №2347814 
download.jpg
>>2347364
>линукс
Аноним 01/05/22 Вск 07:13:22 #169 №2347815 
>>2347784
Докеры для арм отличаются на бинарном уровне от докеров под амд64 и т.д. Это у всяких джав всегда все работает на одной виртуальной машине, си и крестам приходится работать на любом говне, которое высрут производители электроники.
Аноним 01/05/22 Вск 08:24:46 #170 №2347825 
>>2347364
Да.
Аноним 01/05/22 Вск 09:19:14 #171 №2347837 
>>2347799
>любой системе
Просто отправляем всех линуксойдов и мак питухов в газовую камеру и считай работает у всех.
Аноним 01/05/22 Вск 10:26:16 #172 №2347845 
>>2347837
У тебя какие-то детские представления об индустрии. Например на оборудование для гражданской авиации ты должен ставить только сертифицированные ОС реального времени, накиких Виндоус Линукс или макоси ты там не увидешь, как и компилятора раста.
Аноним 01/05/22 Вск 10:28:47 #173 №2347846 
>>2347845
Ну вот для ртос придется поебаться, но и мавен там не помог бы.
Аноним 01/05/22 Вск 11:06:46 #174 №2347863 
>>2347845
А так вот почему некоторые пользователи говорит что у них пека прям "летает". Основная масса ОС в индустрии это винда. Линукс - дл я бомжей либо извращенцев-нитакусиков-особо_одаренных. Мак - для мажориков-лохов которых системно наебывают на бабки.

Собственно оставим срач. У меня вопрос появился. В сети появились бинарники одной игры и мне охота узнать возможно ли получить профит. Бинарников несколько. Вот думаю это дает бонус для того кто захочет реверс инжениринг провести.
Аноним 01/05/22 Вск 11:07:10 #175 №2347864 
>>2347798
>CMake
>>2347799
>работало на любой системе с любыми соглашениями, компиляторами, шеллами и форматами скриптов сборки
Аноним 01/05/22 Вск 11:08:22 #176 №2347865 
>>2347863
>В сети появились бинарники одной игры
Никогда такого не было и вот опять.
Аноним 01/05/22 Вск 11:08:48 #177 №2347866 
Cmake это пиздец
Какие есть альтернативы? Кто что использует?
Аноним 01/05/22 Вск 11:09:47 #178 №2347867 
>>2347866
>Кто что использует?
Тебе для чего? Какие задачи?
Аноним 01/05/22 Вск 11:13:52 #179 №2347868 
>>2347867
Да хоть для петпроектов
Чтобы можно было мои библиотечки собирать под Винду/юникс с любым компилятором гцц/кланг/мсвс
Аноним 01/05/22 Вск 11:14:21 #180 №2347869 
>>2347865
Пробовал провести реверс-инжениринг над одной готовой игрой с помощью Иды. Но там был какой-то tail и вообще я не разбираюсь в Иде толком. Теперь думаю будет проще. Мне надо ассемблер изучить? Чтобы смотреть по адресам и самому именовать их в классы и переменные? Это так работает?
Аноним 01/05/22 Вск 11:15:09 #181 №2347871 
>>2347868
https://ru.wikipedia.org/wiki/Makefile
Аноним 01/05/22 Вск 11:19:00 #182 №2347873 
>>2347869
>tail
Хвост.
>Мне надо ассемблер изучить?
Да.
>Чтобы смотреть по адресам и самому именовать их в классы и переменные?
Подрочи асм листинги, которые генерируют компиляторы для различных языков, чтобы иметь хотя бы какие-то паттерны в голове и тебе было бы легче ориентироваться в отладчике.
>Это так работает?
Спроси у красноглазых в асм треде.
Аноним 01/05/22 Вск 11:21:09 #183 №2347874 
>>2347873
Спасибо за инфу анон.
Аноним 01/05/22 Вск 11:21:40 #184 №2347876 
>>2347866
Visual Studio? не?
Аноним 01/05/22 Вск 12:27:03 #185 №2347907 
Снимок экрана от 2022-05-01 12-24-42.png
Эксперементирую тут с базама данных. Почему-то перестаёт работать в Qt когда добавляю AUTO_INCREMENT. Сам догадываюсь что надо инкрементировать id через qt-функции, может подскажите чё?
Аноним 01/05/22 Вск 12:29:51 #186 №2347909 
>>2347873
>листинги, которые генерируют компиляторы для различных языков
Лол, я как-то открыл дизассемблер одного говна на дельфи, так там буквально всё было переёбано через тройные указатели⚹⚹⚹ на код.
Аноним 01/05/22 Вск 12:32:51 #187 №2347910 
>>2347907
>AUTO_INCREMENT
Разве не AUTOINCREMENT?
Аноним 01/05/22 Вск 14:48:26 #188 №2347991 
>>2347907
Исключение выбрасывает? Оберни в try catch и посмотри, что там
Аноним 01/05/22 Вск 15:16:00 #189 №2348019 
>>2346951
Не понимаю всего этого дроча вокруг чисто серверной операционки. Какой толк от его открытости, если он пилится корпорациями сугубо для своих вычислительных задач в огромных датацентрах? С таким же успехом можно пытаться ездить в магазин на гусеничном тракторе, мотивируя это тем, что крупнейшие в мире лесозаготовительные концерны используют их в своей работе.
Аноним 01/05/22 Вск 15:21:24 #190 №2348024 
>>2348019
>чисто серверной операционки
Почему ты так решил?
>если он пилится корпорациями
Не каждый.
>сугубо для своих вычислительных задач в огромных датацентрах
Почему ты так решил?
>С таким же успехом можно пытаться ездить в магазин на гусеничном тракторе, мотивируя это тем, что крупнейшие в мире лесозаготовительные концерны используют их в своей работе.
Из какой методички сравнение?
Аноним 01/05/22 Вск 15:39:10 #191 №2348031 
Я знаю, что исключения это долго (очень). Но вот не помню, программа замедляется уже в случае, если я имею кусок кода с throw или же в тот момент, когда бросается исключение вместо ручной обработки ошибок?
Аноним 01/05/22 Вск 15:42:40 #192 №2348032 
>>2348031
>Но вот не помню, программа замедляется
Во время обработки.
Аноним 01/05/22 Вск 15:43:51 #193 №2348035 
>>2348032
>>2348031
И выбрасывания.
Аноним 01/05/22 Вск 15:44:48 #194 №2348036 
>>2348032
>>2348035
Спасибо
Аноним 01/05/22 Вск 16:02:53 #195 №2348048 
>>2348031
>Я знаю, что исключения это долго (очень).
это неправильное понимание
Аноним 01/05/22 Вск 16:06:12 #196 №2348056 
Покидайте красивого по-вашему мнению кода, желательно из объемных проектов.
Аноним 01/05/22 Вск 16:26:20 #197 №2348063 
>>2348056
Глянь сорцы бустов
На всю жизнь хватит
Аноним 01/05/22 Вск 18:51:26 #198 №2348130 
>>2348056
OpenSSL, боль в моя дырка задница.
А, ты просил красивого. Такого не видел, при столкновении с реальностью всегда появляются костыли, увы.
Но по возможностям, я конечно люблю boost и lua sol2
Аноним 01/05/22 Вск 18:58:16 #199 №2348133 
>>2348056
Плюсового?
Аноним 01/05/22 Вск 18:59:24 #200 №2348136 
>>2348133
Да.
Аноним 01/05/22 Вск 19:02:26 #201 №2348139 
>>2348136
C++17?
Аноним 01/05/22 Вск 19:09:31 #202 №2348146 
>>2348136
Из сишных могу nginx посоветовать. Лучшее, что я читал на Си. ПЛюсы мне читать сложно, но считаю, что tensorflow и opencv более-менее
Аноним 01/05/22 Вск 19:24:14 #203 №2348158 
>>2348056
Catboost
Аноним 02/05/22 Пнд 00:13:44 #204 №2348291 
в какой IDE в 2022 лучше кодить в Linux? gcc? раньше atom юзал.
Аноним 02/05/22 Пнд 00:22:33 #205 №2348295 
>>2348291
Да, юзай IDE GCC, альтернатив нет.
Аноним 02/05/22 Пнд 00:26:51 #206 №2348299 
>>2348295
Ну не надо тут врать. А как же известная ide clang и msvc?
Аноним 02/05/22 Пнд 00:27:48 #207 №2348301 
>>2348295
ну, я понимаю что это компилятор. Спасибо за совет.
Аноним 02/05/22 Пнд 01:19:23 #208 №2348347 
Я правильно понимаю, что яндекс на летнюю стажку берет в любое время и я могу сейчас податься? Или я уже все сроки проебал?
Аноним 02/05/22 Пнд 06:38:05 #209 №2348372 
Где найти работу с основным языком - английским? На английском говорю свободно, но хочу еще лучше. Хотел в хуавей, но там образование нужно. Анон, накидай компаний пожалуйста.
Аноним 02/05/22 Пнд 06:40:30 #210 №2348374 
>>2348347
Сейчас у них вроде как фриз найма
Аноним 02/05/22 Пнд 08:11:41 #211 №2348380 
>>2348063
Это не сарказм надеюсь? Я как ньюфаг ищу примеры кода, по образцу которого можно развить привычку писать хороший код.
Аноним 02/05/22 Пнд 08:23:31 #212 №2348381 
Посмотрел на трубе собеседование, теперь вопросы
1. Спрашивали про свап-идиому, SFINAE, ADL. Я охуел, потому что про это первый раз услышал. Почему в учебниках ничего нет?
2. Уже не первый раз спрашивают про ебаное ромбовидное наследование и виртуальное наследование. Почему дрочат эту хуйню, если в учебниках написано, что это плохой паттерн и лучше так не делать? Неужели это на практике используется?
3. То же самое про ебаный pure virtual call. Ну давай обманем компилятор, ну давай вызовем исключение. Только вот нахуя, чистые виртуальные методы ля того и нужны, чтобы создавать абстрактные классы, нахуя вызывать то, что вызывать не нужно?
4. Уже не первый раз вопрос про перемещение из вектора при реаллокации. И про noexept в мув-конструкторе. Претензия у меня не собеседованию, а к языку. Почему нельзя было сделать, чтобы при реаллокации по умолчанию вызывался мув-конструктор?
Аноним 02/05/22 Пнд 08:40:14 #213 №2348385 
>>2348063
>>2348158
>>2348130
Получается проблема не во мне, а просто язык не способствует красивым решениям, ясно.
>>2348146
Я крестовый хотел посмотреть.
Аноним 02/05/22 Пнд 08:42:39 #214 №2348387 
>>2348372
>Где найти работу с основным языком - английским?
Любая английская компания или работающая с ними.
Аноним 02/05/22 Пнд 08:51:21 #215 №2348394 
>>2348387
А как и где такие искать? В hh только по запросу "c++ fluent english", но это явно не полный нужный мне список. А сидеть перебирать компании я не хочу.
Аноним 02/05/22 Пнд 08:54:56 #216 №2348399 
>>2348374
По моей инфе разморозили недавно. Мне главное чтобы сам набор не был закрыт официально
Аноним 02/05/22 Пнд 08:56:00 #217 №2348402 
>>2348381
Как же охуенно. Читаю все что ты написал и понимаю, что у меня все это было в вузе
мимо первокур
Аноним 02/05/22 Пнд 09:01:32 #218 №2348405 
>>2348402
>Читаю все что ты написал и понимаю, что у меня все это было в вузе
Тебе говорили зачем это знать?
Аноним 02/05/22 Пнд 09:03:01 #219 №2348407 
>>2348405
Да
Аноним 02/05/22 Пнд 09:03:41 #220 №2348409 
>>2348407
Зачем?
Аноним 02/05/22 Пнд 09:08:15 #221 №2348411 
>>2348409
Для того чтобы писать хороший, удобный, быстрый код без ub, понимать как некоторые фишки языка работают под капотом. Ну и банально показывают примеры когда незнание чего то может привести к плохим последствиям. Иногда препод говорил, что ему это ни разу не понадобилось на практике (не про то что ты написал, а вообще на каких то лекциях), но знать нужно, чтобы понимать как язык работает
Аноним 02/05/22 Пнд 09:11:46 #222 №2348412 
>>2348411
> знать нужно, чтобы понимать как язык работает
А я знал всю ту хуету раньше, но уже забыл, так как ещё ни разу не пригодилась
мимошёл
Аноним 02/05/22 Пнд 09:33:15 #223 №2348415 
>>2348402
Значит охуенный у тебя был вуз. По слухам в вузах на паскале и фортране кодят. И дай бог ханойские башни на си сделают.
Аноним 02/05/22 Пнд 09:38:17 #224 №2348419 
>>2348412
А рассскажи, что пригодилось?
Аноним 02/05/22 Пнд 10:50:53 #225 №2348430 
>>2348415
Кек, у меня тоже был современный с++ (тогда еще 17). Но кроме него и фортран, и паскаль, и башни на си. и какая-то функциональная залупа, которую похоже специально разрабатывали чтобы добиться максимальной уебищности
мимо другой
Аноним 02/05/22 Пнд 11:12:40 #226 №2348435 
Аноны, а нет ли какого фреймворка для крестов, похожего на ангуляр, для написания аппсов под андроид с нативными UI элементами? Qt не подходит.
Аноним 02/05/22 Пнд 11:13:52 #227 №2348436 
>>2348394
Чел, на том конце сидят такие же европейцы с диким акцентом и уровнем upper intermediate++. Если тебе надо fluent - ищи релокацию в англоговорящие страны.
Аноним 02/05/22 Пнд 11:32:52 #228 №2348444 
>>2348435
Нет.
Аноним 02/05/22 Пнд 11:35:20 #229 №2348446 
>>2348394
>В hh только
На hh с английским ты только аутсорс гелары можешь найти.
Хочешь работать с буржуями — ищи галеру на буржуйских сервисах (тот же linkedin), очевидно же.
Аноним 02/05/22 Пнд 11:47:27 #230 №2348455 
>>2348381
1. Потому что это выходит за рамки среднего учебника;
2. Не используется, суть вопроса — как в пункте — просто доебаться до знания кишков;
3. Просто хотят доебаться;
4. Легоси.

Суть любого собеса — доебаться вопросами, не имеющими отношения к работе зачастую и сбить цену, так не только в плюсах, так вообще везде, привыкай.
Аноним 02/05/22 Пнд 11:50:13 #231 №2348458 
>>2348455
>как в пункте
1
Аноним 02/05/22 Пнд 12:16:25 #232 №2348472 
>>2348381
1. Идиомы это просто идиомы. Сегодня они актуальны, а завтра тебя за них ногами пиздят (за паттерны синглтон, фабриаки, за блокировку с двойной проверкой и т.д.).
2. Просто забей.
3, 4. Увы, но знать надо. Язык про ручное управление ресурсами. Исключения в конструкторе/деструкторе, pwc, нехватка памяти - с этим придётся бороться на практике.
Аноним 02/05/22 Пнд 14:04:30 #233 №2348539 
>>2348385
Нет, язык позволяет вполне красивые вещи. Проблема в том, что эти красивые вещи вполне делаются и на более удобных языках, а на плюсах делают то, особо по красоте и не сделаешь. Я так думаю. Всякие наивные вызовы, байтоёбство и прочий high performance, где красотой жертвуют.
Аноним 02/05/22 Пнд 14:16:45 #234 №2348546 
download.jpg
>>2345617 (OP)
Привет тред это сново я.

Существуют ли итераторы, которые возможно разименонвывать? При этом сначала надо выполнить find_if для массива.


std::array<B, 23>::iterator it = std::find_if(b[0]->arr.begin(), b[0]->arr.end(), [=](const B b) {
return b->is_something == true;
});
Аноним 02/05/22 Пнд 15:16:12 #235 №2348582 
>>2348546
Как создать компил-тайм тетрис?
Аноним 02/05/22 Пнд 15:16:50 #236 №2348585 
>>2348472
> pwc
Что это?
Аноним 02/05/22 Пнд 15:21:07 #237 №2348588 
>>2348582
Нам препод рассказывал, что в 23 стандарте случайно подвезут новый язык во время компиляции, при этом невозможно понять остановится ли выполнение программы или нет. И компиляторы тупо костылят, что если глубина рекурсии выше 100, то компиляция прекращается
Аноним 02/05/22 Пнд 15:22:08 #238 №2348591 
>>2348588
Прикольно, дожить бы.
Аноним 02/05/22 Пнд 15:23:25 #239 №2348592 
>>2348588
Так уже.
Аноним 02/05/22 Пнд 15:42:39 #240 №2348609 
>>2348585
PricewaterhouseCoopers, но имелось в виду pure Virtual call.
Аноним 02/05/22 Пнд 15:56:24 #241 №2348621 
Почему создание pure virtual такое костыльное? Почему нельзя было сделать нормально - ввести ключевое слово pure и писать pure virtual?
Аноним 02/05/22 Пнд 15:58:52 #242 №2348626 
>>2348621
>Почему создание pure virtual такое костыльное?
Секрет.
Аноним 02/05/22 Пнд 16:02:59 #243 №2348632 
>>2348621
> ввести ключевое слово
Поэтому. Комитет боится вводить новые ключевые слова и придумывает синтаксические изъёбства. Туда же auto для вывода типов.
Аноним 02/05/22 Пнд 17:33:51 #244 №2348723 
>>2348621
Еще бы ключевое cлово interface как в шарпах
Аноним 02/05/22 Пнд 17:38:35 #245 №2348731 
>>2348723
IUnknown
Аноним 02/05/22 Пнд 18:38:32 #246 №2348757 
>>2348731
No god! Please no!
Аноним 02/05/22 Пнд 21:30:22 #247 №2348867 
>>2348381
1. Значит ты читаешь хуевые учебники
2. Доебаться. На практике не видел, чтобы использовалось. Но иногда это может тебе встретиться (например при наследовании от чего-то std'шного), поэтому будет лучше - если ты знаешь.
3. Доебаться. И вопрос про понимание. На собесе можно дать понять, что ты выкупаешь и послать нахуй
4. А причем тут мув конструктор? Давай возьмем вектор. Давай возьмем указатель на его первый элемент. А потом дохуя раз вызовем push_back. Произойдет реаллокация и указатель уже не будет валидным. На уровне языка это довольно сложно поправить. И даже если это поправить - будет оверхед, который пользователь(тупой программист) будет не ожидать. Поэтому за скорость платит как программист, зная вот здесь может ебануть
Аноним 02/05/22 Пнд 21:43:50 #248 №2348869 
Сап. Изучаю ООП, классы
Для изучения языка я пользуюсь Ютубом, purecode, cppstudio — но везде только элементарные задачки и их решения. Из-за этого я не могу сделать что-то даже незначительно сложнее них

Хотел написать программу, в которой между двумя автомобилями с разными характеристиками проводятся гонки. Нужно выполнить лабу, в которой будут проводиться гонки, а в классе "Результат" выводиться собственно результат, автомобиль-победитель, расстояние, добавление/удаление автомобиля... Из-за того, что во всех уроках по теме ограничиваются тем, чтобы задать класс с парочкой объектов и вывести какие-то из значений объекта, я не могу писать что-то сложнее этого. Подскажите пожалуйста, где можно углубленнее посмотреть? Уже давно раздражает, что везде простенькие примеры и задачки, а мне нужно выполнять лабы, в которых задачи значительно сложнее. И поэтому штудирование информации в интернете как-то не способствует выполнению лаб.
Уже кучу уроков по классам, кучу сайтов посмотрел — нигде что-то хитровыебаннее базы для чайников не предложили. А мне лабы делать надо, ебать их в сраку.
Аноним 02/05/22 Пнд 21:47:08 #249 №2348871 
>>2348632
Долбоёбы. Вот в питоне норм люди - просто объявили, что устаревшее говно поддерживать не будут, и ебанули новую улучшенную версию.
Аноним 02/05/22 Пнд 21:49:08 #250 №2348872 
>>2348871
Деды на плюсах просто будут на старой и не поддерживающей сидеть, лол
А с ними и вся индустрия
Аноним 02/05/22 Пнд 21:54:36 #251 №2348877 
Я пишу в vs code, но лишь потому что не умею в vs быстро выбирать файлы для компиляции. А мне часто во время проги приходится компилировать основной исходник с разными другими cpp для тестов. Можно ли научиться быстро в vs включать и исключать файлы из проекта? Так бы я и дальше vs code юзал, но профилировщик в vs удобный слишком
Аноним 02/05/22 Пнд 22:11:17 #252 №2348888 
Ну ты сравнил молодой питон и плюсы. И да, многие компании теперь просто сидят на старой версии питона, потому что переписывать на новую не хотят. У плюсов и так 100500 компиляторов, каждый из которых компилирует свой диалект языка, если еще и поддерживать компиляторы для разных форков, то люди совсем ебнутся. А поддерживать их придется, потому что баги в компиляторах находят не редко. Вообще да, я иногда тоже думаю, что было бы круто язык форкнуть, но понимаю почему это не делают. Возможно, мне даже немного обидно. Еще хотел вот что спросить: вроде же что то иногда признают устаревшим и просто выпиливают нахуй из стандарта. Может ли это привести к перерождению плюсов в язык без хуевой тучи костылей ради обратной совместимости лет через 15?
Аноним 02/05/22 Пнд 22:22:52 #253 №2348893 
>>2348871
В динамикодрисне это хоть и больно, но терпимо. Можно по-быстрому раскидать костыли по коду, чтобы поддерживались обе версии петухона. А в крестах начинается адская ебля, когда тебе надо скомпилить проект, написанный кем-то в нулевых, и ты получаешь 100 мегабайт нечитаемых ошибок, сиди, ебись.
Аноним 02/05/22 Пнд 23:05:00 #254 №2348901 
>>2348381
>чистые виртуальные методы ля того и нужны, чтобы создавать абстрактные классы, нахуя вызывать то, что вызывать не нужно?
не, чел, это полезная вещь вообще то
для определения поведения по умолчанию или для определения частичной функциональности
можно даже сказать что это такой мини-паттерн, которому уж 30 лет как
Аноним 02/05/22 Пнд 23:07:34 #255 №2348903 
>>2348893
чел, в том и сила
ты берешь очен старую либу, пытаешься компильнуть ее новым компилятором, в новом окружении, присоединить к своему охуенному сверх современному коду и так далее
ты должен вообще радоваться что компилятор такой строгий и вываливает кучу ошибок, потому что так и должно же быть..
а то что динамикодрисня (без тысяч модульных тестов) может сожрать любой код ну дак это и понятно, и то что у тебя "запустилось" с первого раза, это лишь означает что ты пошел по минному полю
вот так
Аноним 02/05/22 Пнд 23:15:19 #256 №2348906 
>>2348903
В жизни всякое бывает. При разработке с нуля эти проверки может и хороши, но потом при сопровождении, когда что-то, что всегда работало, вдруг работать перестало, тебе хочется только одну кнопку "запустить любой ценой", и не ебёт, что в одном из стандартов запретили какую-то залупу с енумами.
Аноним 02/05/22 Пнд 23:49:24 #257 №2348917 
>>2348871
Питун до сих пор жепу не зашил после релиза v3. Ещё попадается залупа, которая работает только на 2.х. И обновлений не будет, так как автор давно перестал её поддерживать или вообще помер от геморроя..
Аноним 03/05/22 Втр 00:32:45 #258 №2348931 
>>2348901
Ты путаешь с паттерном template method, который не pure virtual, но virtual и определён в базовом классе.
Аноним 03/05/22 Втр 00:34:58 #259 №2348934 
>>2348903
Присоединяешь к сверхсовременному коду и потом начинаешь как сучка пилить адапторы, чтобы легаси говно не вытекло наружу и твои коллеги не растащили его по всему проекту. Охуенно, да.
Аноним 03/05/22 Втр 02:54:36 #260 №2348969 
>>2348419
Если касаемо только c++, то стандартная библиотека (без мозгоебства на шаблонах и виртуальных наследований), куте, буст и всякие мелкие библиотечки, немного шаблоны проектирования.
Аноним 03/05/22 Втр 09:17:13 #261 №2349031 
download (1).jpg
>>2348588
Не понял. Есть поподробнее статья? С другой стороны у меня была шизо идея о том как в процесоор загружаются инты и прочие типы. Возможно ли посмотреть как они туда будут попадать и как то оптимизировать чтобы как тетрисе они укладывались ровно в машинное слово? Или это нереально потому что помимо приложения еще и операцинная система работает?

Еще вопрос - реально ли может помочь замена интов на char если я использую очень малые числа. Не больше сотни. На стаковерфлоу сказали что процесоор работает на интах лучше чем на чарах. Это правда?
Аноним 03/05/22 Втр 09:36:01 #262 №2349042 
>>2348869
Так делай лабу. Вот и научишься. Когда будешь сталкиваться с проблемой - смотри конкретно по этой теме. А вообще тут Мейерса советовали почитать. Я лично его нашел но так и начал читать. Прочитал только что лучше везде использовать auto вместо типов.
Аноним 03/05/22 Втр 09:36:19 #263 №2349043 
>>2348869
>Хотел написать программу, в которой между двумя автомобилями с разными характеристиками проводятся гонки.
Напиши.
>>2348888
>У плюсов и так 100500 компиляторов
5 или компиляторы g++SuperSpeedAndSmallSizeEditionByCoolVasyanExtentedV3.0.1beta тоже учитываются?
>было бы круто язык форкнуть, но понимаю почему это не делают
Какая корпорация за это будет платить?
>>2349031
>Возможно ли посмотреть как они туда будут попадать
Через регистры.
>они укладывались ровно в машинное слово
Посмотри размеры и количество регистров на целовой архитектуре.
>реально ли может помочь
Кому?
>Это правда?
Посмотри инструкции, которые генерирует компилятор для чаров и интов.
Аноним 03/05/22 Втр 09:41:00 #264 №2349048 
>>2349043
>Посмотри инструкции, которые генерирует компилятор для чаров и интов.
Как это сделать? Юзаю VS.
Аноним 03/05/22 Втр 09:43:19 #265 №2349050 
>>2349048
Отладчики, генерация асм листинга и тд, миллион способов.
https://docs.microsoft.com/ru-ru/cpp/build/reference/fa-fa-listing-file
Аноним 03/05/22 Втр 09:48:08 #266 №2349053 
>>2345617 (OP)
Помогите с кодом пожалуйста. Хочу научиться разименовывать итераторы. Если это возможно. Мне приходится передавать значение в указатель, но хочу сразу доступ к переменным осуществлять через итератор.


Код здесь:
https://pastebin.com/EgUBqeNC
Аноним 03/05/22 Втр 10:13:14 #267 №2349067 
>>2349053
Возможно есть более красивые решения, хз не пишу на крестах.
https://godbolt.org/z/Pn7nx75dY
Аноним 03/05/22 Втр 10:24:33 #268 №2349071 
>>2349067
Разобрался. Спасибо.
Аноним 03/05/22 Втр 10:25:53 #269 №2349074 
0.png
1.png
2.png
>>2349050
Попробовал и получит результат. Только не знаю что происходит. Слышал только про mov. Это вроде запись значения.
Аноним 03/05/22 Втр 12:12:59 #270 №2349191 
>>2349043
>5 или компиляторы g++SuperSpeedAndSmallSizeEditionByCoolVasyanExtentedV3.0.1beta тоже учитываются?
https://en.cppreference.com/w/cpp/compiler_support
Только из значимых — уже 12 штук.
А сколько их для всякого эмбедед говна... Ты молодой, шутливый, тебе все легко. Это не то. Это не Чикатило и даже не архивы спецслужб. Сюда лучше не лезть.

>>2349048
>>2349074
Палю годноту: https://gcc.godbolt.org/z/cex9WPMEa
За тебя прмерно матчит асм с строчками кода — открывай доку по x86 асму и изучай.
Аноним 03/05/22 Втр 12:40:09 #271 №2349206 
>>2349191
>Только из значимых — уже 12 штук.
3 вижу, а где еще 9?
>А сколько их для всякого эмбедед говна...
Гсс собранный для разных архитектур?
Аноним 03/05/22 Втр 12:48:18 #272 №2349209 
>>2349206
> 3 вижу, а где еще 9?
Это троллинг?
Аноним 03/05/22 Втр 12:48:39 #273 №2349210 
>>2349206
>3 вижу, а где еще 9?
А ещё 9 в глаза тебя ебут наверно.

>Гсс собранный для разных архитектур?
Ох зумерок... Если бы всё было так просто...
Аноним 03/05/22 Втр 12:52:39 #274 №2349215 
>>2349209
>Это троллинг?
Нет.
>А ещё 9 в глаза тебя ебут наверно.
Не угадал.
>Ох зумерок... Если бы всё было так просто...
Какие?
Аноним 03/05/22 Втр 12:52:42 #275 №2349216 
>>2349042
>>2349043
>Напиши.
Логичный совет, я и начал писать, но быстро столкнулся с тем, что не знаю, как что-либо сделать. Гуглю — мне выдают ту же хуйню уровня хеллоу ворлд. Мне бы примеры решения готовых задач посмотреть, при чем задач посложнее, а не уровня "Создать класс с двумя объектами, вывести значения объектов"
Аноним 03/05/22 Втр 12:53:27 #276 №2349217 
>>2349216
>Гуглю — мне выдают ту же хуйню уровня хеллоу ворлд.
Значит ты неправильно гуглишь.
Аноним 03/05/22 Втр 12:57:48 #277 №2349220 
>>2349216
Попробуй то же самое но с наследованием. Тут же станет сложно.
Аноним 03/05/22 Втр 13:00:13 #278 №2349222 
Screenshot20220503-125946.jpg
>>2349215
Аноним 03/05/22 Втр 13:01:48 #279 №2349223 
>>2349191
>Только из значимых — уже 12 штук.
>>2349222
Почему они значимые?
Аноним 03/05/22 Втр 13:05:46 #280 №2349227 
>>2349223
А, ну раз ты сказал, то с завтрашнего дня Intel, nvidia, oracle, IBM перестанут писать кимпиляторы и пересядут на gcc
Аноним 03/05/22 Втр 13:06:55 #281 №2349229 
>>2349227
>ну раз ты сказал
Что я сказал?
Аноним 03/05/22 Втр 13:07:38 #282 №2349231 
>>2349229
Что они не значимые
Аноним 03/05/22 Втр 13:08:23 #283 №2349232 
>>2349231
>Что они не значимые
Где я это написал?
Аноним 03/05/22 Втр 13:09:40 #284 №2349235 
>>2349232
> я вижу только 3 значимых
Вот тут
Аноним 03/05/22 Втр 13:12:09 #285 №2349239 
ревун.jpg
>>2345617 (OP)
Зачем устраивать срач из за компиляторов? Не все ли равно?

третий анон
Аноним 03/05/22 Втр 13:13:51 #286 №2349243 
>>2349235
Я не писал, что остальные не значимые, а написал, что вижу только 3 значимых компилятора. Где используются остальные? Какой софт собран с помощью них? В чем их преимущество? Почему нельзя было использовать гсс\шланг\студийный?
Аноним 03/05/22 Втр 13:14:49 #287 №2349244 
Снимок экрана от 2022-05-03 13-14-06.png
Помогите, пожалуйста.
Как мне в определении метода внутри класса обратиться к перегруженному оператору?
Аноним 03/05/22 Втр 13:15:35 #288 №2349247 
>>2349244
.operator()(4)
Аноним 03/05/22 Втр 13:18:30 #289 №2349250 
>>2349247
Спасибо
Аноним 03/05/22 Втр 13:19:44 #290 №2349251 
>>2349244
(*this)(4)
Аноним 03/05/22 Втр 13:26:33 #291 №2349258 
>>2349243
> Я не писал, что остальные не значимые, а написал, что вижу только 3 значимых компилятора. Где используются остальные?
Я так подозреваю, что в сборке всяких внутренних прог или для лучшей оптимизации кода для своих продуктов. Может ител знают как лучше под свои процы собирать, чтобы работало быстрее
> Какой софт собран с помощью них?
Не изучал, не знаю
> В чем их преимущество? Почему нельзя было использовать гсс\шланг\студийный?
Я не работаю в интел, но могу предположить, что интеловчский собирает лучше для процов интел, а gcc просто не имеют ресурсов оптимизировать компилятор для разных процов
Аноним 03/05/22 Втр 14:11:36 #292 №2349301 
>>2349222
Чел, nvcc это Nvidia CUDA compiler. Он к c++ имеет весьма условное отношение.
Аноним 03/05/22 Втр 14:18:32 #293 №2349310 
>>2349258
>а gcc просто не имеют ресурсов оптимизировать компилятор для разных процов

Тем не менее у них больше всего фич.
Аноним 03/05/22 Втр 14:46:41 #294 №2349333 
>>2349223
>Почему они значимые?
Потому что в компаниях типо интела/оракла/ибм гарантированно есть ебейшее количество кода завязанного на них, а так же куча корпоративных клиентов которые не особо афишируют что у них там происходит.

>>2349310
Языковых фич. Потому что им не занимаются эффективные манагеры которым похуй на язык, лол.

Во всяких областях типо поддержки инструкций самых новых (либо редких/эксперементальных) фич процессоров (или сопроцесссоров, сейчас же модно сувать NPU в каждую щель), векторизации и прочим оптимизациям математики компиляторы вроде интеловского/амудешного ебали и скорее всего по прежнему ебут всех.
Аноним 03/05/22 Втр 14:48:11 #295 №2349334 
16426941156590.jpg
>>2349239
Потому что делать нехуй на майских.
Аноним 03/05/22 Втр 14:51:11 #296 №2349335 
>>2349334
За ассемблер зумеркам уже пояснили, сейчас и за компиляторы поясним.
Аноним 03/05/22 Втр 14:58:20 #297 №2349337 
>>2349334
Скорей бы на работку.
Аноним 03/05/22 Втр 15:00:30 #298 №2349338 
>>2349335
Що Що?
Аноним 03/05/22 Втр 15:01:48 #299 №2349339 
>>2349333
>интела/оракла/ибм гарантированно есть ебейшее количество кода завязанного на них
Получается это корпоративный компилятор? Тогда зачем он обычным пользователям?
Аноним 03/05/22 Втр 15:05:01 #300 №2349341 
16429781320200.jpg
>>2349339
А значимость чего-то определяется количеством васянов собирающих дома линух?
Пиздуй тиктоки смотреть, не засирай тред.
Аноним 03/05/22 Втр 15:05:38 #301 №2349342 
>>2349341
>А значимость чего-то определяется количеством васянов собирающих дома линух?
Чем она определяется по-твоему?
Аноним 03/05/22 Втр 15:12:46 #302 №2349345 
>>2349301
ВАШ КОМПИЛЯТОР НЕ КОМПИЛЯТОР
Аноним 03/05/22 Втр 15:14:14 #303 №2349346 
>>2349338
Лахта макаки изображают себя гуру плюсов.
Аноним 03/05/22 Втр 15:15:45 #304 №2349347 
>>2349342
долей на рынке. У интела 75% так что по идее (того анона) надо компилировать на нем.

другой анон
Аноним 03/05/22 Втр 15:20:22 #305 №2349350 
>>2349347
Толсто.
Аноним 03/05/22 Втр 15:24:24 #306 №2349354 
16441402576320.jpg
>>2349342
Востребованностью. Которая не различается по критериям вроде business-to-business, business-to-client или opensource-to-vasyan.

>>2349347
>по идее (того анона) надо компилировать на нем.
Нет у меня такой идеи, пчел.
Если у тебя там не какая-то охуительная математика, 10-20% ускорения которой будут покрывать лицензию на компилятор и кучу самого современного железа, конечно.

Аргумент про "обычные юзеры не юзают" — говно уровня "C++ нинужин" в соседних чатах.
Аноним 03/05/22 Втр 15:24:51 #307 №2349355 
>>2349346
У вас в треде - зоопарк ебланов?
Аноним 03/05/22 Втр 15:27:49 #308 №2349360 
>>2349350
>>2349354
Это не троллинг. Я просто не разбираюсь в компиляторах. Возможно бы даже прикупил интеловский если бы мне кто-нибудь доказал что он лучше gcc. И еще возможно это не улучшит байт код а только ускорит компиляцию. Я не шарю в этом вообще. Есть знающие аноны?
Аноним 03/05/22 Втр 15:28:23 #309 №2349361 
>>2349354
>Востребованностью.
Для кого? Если компилятор востребован 0.0001% программистов, тогда он становится значимым для всех?
Аноним 03/05/22 Втр 15:28:39 #310 №2349362 
>>2349355
Да
Аноним 03/05/22 Втр 15:29:24 #311 №2349364 
>>2349360
>Есть знающие аноны?
Нет.
Аноним 03/05/22 Втр 15:29:28 #312 №2349365 
>>2349360
Всё просто — если не понимаешь зачем он тебе — он тебе не нужен, забей и сиди на самом распространённом у тебя на платформе.
Аноним 03/05/22 Втр 15:30:48 #313 №2349366 
>>2349361
Для индустрии в целом. Индустрия != программисты, а вот программисты без индустрии в целом никому нахуй не нужны.
Аноним 03/05/22 Втр 15:34:36 #314 №2349369 
>>2349366
>Для индустрии в целом.
Каким образом?
>Индустрия != программисты
Получается компиляторы и программисты не связаны? Кто тогда определяет какой компилятор использовать?
Аноним 03/05/22 Втр 15:42:28 #315 №2349372 
>>2349369
>Каким образом?
Позволяют выжимать из железа больше.
inb4: Рентабельнее что-то делать => больше проектов => нужно больше программистов (и не только).

>Получается компиляторы и программисты не связаны?
Как ты до этого дошёл? Вроде на сосаче пиздим а не на форуме дислексиков.
Программисты — составляющая индустрии, не вся индустрия.
Аноним 03/05/22 Втр 15:52:42 #316 №2349376 
>>2349372
>Позволяют выжимать из железа больше.
Не факт.
>Как ты до этого дошёл?
>>2349366
>Индустрия != программисты
>Программисты — составляющая индустрии, не вся индустрия.
Получается компиляторы выбирают программисты, тогда к чему ты притянул индустрию?
Аноним 03/05/22 Втр 15:58:20 #317 №2349378 
>>2349365
Разговаривашь как гадалка. Мне кажется ты один лахтинцев Абу который поддреживат дискуссии чтобы траффик был.
Аноним 03/05/22 Втр 16:04:51 #318 №2349383 
>>2349345
Пок, пок, пок. Компилятор javac умеет создавать .h файлы для нэйтива. Он c++ компилятор или не компилятор? Или это другое?
Аноним 03/05/22 Втр 16:07:53 #319 №2349385 
16428850238540.jpg
>>2349376
>Не факт.
Когда
>компиляторы выбирают программисты
это работает именно так.

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

>>2349378
Вполне конкретно написал — не нужон какой нибудь интеловский MKL — нахуй не нужон и их компилятор.

Пиздец, как же тяжко общаться с тиктокерами...
Аноним 03/05/22 Втр 16:13:24 #320 №2349389 
>>2349385
>К тому, что выхлоп от компилятора который умеет юзать какие нибудь новые инструкции в новом проце получают не только программисты.
Популярные компиляторы не умеют их использовать?
Аноним 03/05/22 Втр 16:21:34 #321 №2349393 
>>2348931
ничего я не путаю
pure virtual функция член может иметь определение, и это используется для определения реализации по умолчанию или для определения частичной реализации
Аноним 03/05/22 Втр 16:30:42 #322 №2349400 
>>2349074
>Попробовал и получит результат. Только не знаю что происходит.
вырубай флаги оптимизации все, когда только учишься читать сгенерированные ассемблерные листинги
без таких флагов машинный код будет проще и его будет легче понять

Аноним 03/05/22 Втр 17:37:11 #323 №2349444 
>>2349393
Зачем тогда её делать pure, если у неё есть член реализация и она не деструктор?
То что ты описываешь и есть template method.
Аноним 03/05/22 Втр 17:50:34 #324 №2349450 
>>2349400
Ну хуй знает.. Я асм тоже плохо знаю, и мне О0 читать сложнее чем О2, потому что там наоборот насрана куча лишних инструкций.
Аноним 03/05/22 Втр 19:07:51 #325 №2349513 
download (2).jpg
>>2349385
>Пиздец, как же тяжко общаться с тиктокерами...

clang + cmake + VS enterprise. На мой думерский взгяд выросшего без интернета, с игрушками прибитыми к подоконнику и загуглившего тему за 5 минут это самая нормальная комбинация. Поклонники gcc конечно не согласятся, но я жду факты и внятные аргументы.
Аноним 03/05/22 Втр 19:12:47 #326 №2349517 
>>2349513
>я жду факты и внятные аргументы
Зачем?
Аноним 03/05/22 Втр 19:16:24 #327 №2349519 
>>2349517
прост

вообще хочу скомпилировать с самой лучшей оптимизацией
Аноним 03/05/22 Втр 19:17:03 #328 №2349521 
>>2349519
>хочу скомпилировать с самой лучшей оптимизацией
Компилируй.
Аноним 03/05/22 Втр 19:24:12 #329 №2349524 
>>2349521
Это чат бот? Не заробрался как cmake еще ставить.
Аноним 03/05/22 Втр 19:32:05 #330 №2349529 
>>2349524
>Это чат бот?
Почему ты так решил?
>Не заробрался как cmake еще ставить.
>>2349513
>clang + cmake + VS enterprise.
>нормальная комбинация
Почему тогда ты считаешь это нормальной комбинацией?
Аноним 03/05/22 Втр 19:36:43 #331 №2349535 
>>2349529
>Почему тогда ты считаешь это нормальной комбинацией?
Прочитал так.
Аноним 03/05/22 Втр 19:55:34 #332 №2349546 
Тело pure virtual функции не нужно.
Если в классах-потомках в реализации этой функции используется один и тот же код - сделайте в базовом классе отдельный protected метод, выполняющий этот код, а не пишите его в теле pure virtual.
Аноним 03/05/22 Втр 21:19:06 #333 №2349583 
>>2349444
чтобы базовый класс оставался абстрактным
Аноним 03/05/22 Втр 21:21:52 #334 №2349585 
>>2349546
тогда нарушиться условие что базовый класс должен оставаться абстрактным
Аноним 03/05/22 Втр 21:32:30 #335 №2349591 
>>2349583
Сделай ему абстрактный деструктор. Всё остальное = 0 без реализации и !=0, если реализация есть.
Аноним 03/05/22 Втр 22:00:44 #336 №2349606 
>>2345617 (OP)
В плюсы завезли строки нормальные? Ну или нормальную асинхронность? Может быть кроссплатформенную работу с сокетами?

Дропнул это добро на втором курсе вуза сразу после того как написал компилятор паскаля на плюсах и перекатился на божественную жаву
Аноним 03/05/22 Втр 22:02:45 #337 №2349609 
>>2349585
Что там нарушается, долбоёб?
Аноним 03/05/22 Втр 22:11:09 #338 №2349617 
>>2349609
Условие что базовый класс должен оставаться абстрактным.
Аноним 03/05/22 Втр 22:30:20 #339 №2349623 
>>2349606
Ну и как, счастлив?

все завезено, но не в стд
Аноним 04/05/22 Срд 00:27:05 #340 №2349648 
>>2349606
>В плюсы завезли строки нормальные?
const char*, std::string и юникодные варианты

>Ну или нормальную асинхронность? Может быть кроссплатформенную работу с сокетами?
Или? бака
boost asio, давно хотят вроде и вероятно в след-послеслед стд его завезут в стдлибу
1st class поддержка корутин уже давно есть если что
>перекатился на "божественную" жаву
clown
Аноним 04/05/22 Срд 01:25:13 #341 №2349657 
>>2349648
Угу, а теперь сделай мне регистронезависимое сравнение юникодных строк ß и ss и ẞ, в utf-8 и utf-16. Печально всё со строками.
Аноним 04/05/22 Срд 02:13:23 #342 №2349661 
>>2349657
Чем хоть на жабе занимаешься? Умлауты сортируешь?
Аноним 04/05/22 Срд 02:39:18 #343 №2349665 
>>2349657
в стд есть функции конвертации, toupper, как я понимаю можно доставать из uNstring конвертером по символу в char32_t, делать toupper/tower и сравнивать (хотя описания этих функций с названиями аля qwerty cvt mcb просто ну их нахуй, благо мне что строки, что плюсы юзать пока что не придется) . Ебля, но однажды в функцию выделить и все нормально. Или все в стандарт тащить? Интересно, есть ли в жабе все фичи плюсов..
Аноним 04/05/22 Срд 06:07:29 #344 №2349676 
>>2349661
Не, я плюсокодер, просто эта фигня с юникодом (точнее, отсутствие вменяемых средств для работы со всем, выходящим за пределы Base Plane или имеющим культурные особенности) доебала уже. Обычно не сортирую, но вот потребовалось, и возник НЮАНС.
>>2349665
Ты не шаришь. Эти символы в разных регистрах занимают разное количество code unit.
Аноним 04/05/22 Срд 08:39:49 #345 №2349691 
>>2345759
хуя гороскопы какие-то подъехали, в тот ли я тред попал?
Аноним 04/05/22 Срд 08:55:43 #346 №2349705 
>>2349691
>в тот ли я тред попал?
Крестотред всегда привлекает шизоидов, пока не ушел в бамплимит. Поэтому все треды 1000+.
Аноним 04/05/22 Срд 09:17:16 #347 №2349717 
>>2349691
>в тот ли я тред попал?
Что ты ожидал увидеть?
Аноним 04/05/22 Срд 09:27:25 #348 №2349722 
>>2349606
>перекатился на божественную жаву
Перекатился в смысле новую должность получил или просто поковырял литкод? Почему не C#? В СНГ вроде это и есть путь.
Аноним 04/05/22 Срд 09:31:19 #349 №2349725 
>>2349722
>божественную жаву
>Перекатился в смысле
Он жирный.
Аноним 04/05/22 Срд 09:39:28 #350 №2349732 
download (3).jpg
>>2349725
Мне кажется это тот студент который здесь вчера про операторы спрашивал
Аноним 04/05/22 Срд 10:04:18 #351 №2349743 
>>2349676
utf32 все одинаково занимают же?
Аноним 04/05/22 Срд 10:10:14 #352 №2349747 
>>2349743
Да.
Аноним 04/05/22 Срд 11:47:12 #353 №2349814 
Есть какой-нибудь структурированный гайд по работе с бинарниками? Сколько ни искал - всё по крупицам приходилось собирать да в опенсорсах копаться. Т.е. в целом алгоритм ясен: хуяришь структуру правильную, сики-хуики, райты-риды. Но структурировать всё и углубиться не помешало бы.
Аноним 04/05/22 Срд 12:03:07 #354 №2349821 
>>2349814
В чем именно у тебя проблема?
Аноним 04/05/22 Срд 12:04:17 #355 №2349823 
16430348038930.png
регистронезависимости не существует, сына
если считаешь иначе, то ты или семибитный динозавр или запихал себе в очько весь стандарт юникода который уже толще плюсового наху
это база
Аноним 04/05/22 Срд 12:10:29 #356 №2349829 
>>2349823
>регистронезависимости не существует
Регистры вообще миф, их не существует.
Не троллинг.
Аноним 04/05/22 Срд 12:25:05 #357 №2349848 
>>2349821
Проблема, если её так можно назвать в поверхностных знаниях и не(-знании/-понимании) всевозможных питфолов. Вот я например юзаю std::array чаров, на первый взгляд всё выглядит работающим но я хз, оптимально ли это на дистанции и мб тут есть более лучшая практика (С-массив, ага). Бтв я поначалу вообще пробовал в стрингу или вектор класть. Вот пишу я либу для архивирования файлов. Сделал RW, сейчас думаю как докинуть удаление => перезапись уже существующего файла. Идея такова, чтобы найти начало искомого файла, обнулить занимаемые им байты (скорее всего лишний шаг) и сдвинуть весь контент что шёл после него в позицию начала этого файла - це норм чи не норм? Это из основного и насущного, а так уверен, что есть ещё что-то с чем я не сталкивался.
Аноним 04/05/22 Срд 12:44:22 #358 №2349870 
QML vs QtWidgets vs веб интерфейс через фреймворк JS`a vs Электрон?
Аноним 04/05/22 Срд 12:50:14 #359 №2349883 
>>2349848
>мб тут есть более лучшая практика
Используй объединения (union) для хранения бинарных заголовков (упростится работа с ними и RW) и контейнеры для бинарных данных, типа std::array.
>Вот пишу я либу для архивирования файлов.
Какие задачи у архиватора? Безопасность, скорость, размер, удобство?
>це норм чи не норм?
Алгоритм говно. Создай заголовок у архива, где будут расписаны смещения до файлов и прочие их данные, после через этот заголовок загрузи весь архив в оперативную память и через реализацию списка с массивами бинарных данных оперируй уже файлами, после всех операций сохраняй все данные в свой архив. Не самый лучший алгоритм, но первое, что пришло в голову.
Аноним 04/05/22 Срд 13:04:01 #360 №2349907 
>>2349606
>В плюсы завезли строки нормальные?
Нет и не завезут. Там хуиту вроде std::format мусолят годами, а тут ты такой — юникод!

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

>Ну или нормальную асинхронность?
Только каркас для неё в виде корутин. А дальше как обычно — сам решай че хочешь.

>Может быть кроссплатформенную работу с сокетами?
Кек.
Аноним 04/05/22 Срд 13:12:07 #361 №2349919 
>>2349883
>Создай заголовок у архива, где будут расписаны смещения до файлов и прочие их данные, после через этот заголовок загрузи весь архив в оперативную память и через реализацию списка с массивами бинарных данных оперируй уже файлами, после всех операций сохраняй все данные в свой архив.
Полное говно алгоритм тоже. Без задачи сложно описать адекватный алгоритм. Если кратко, то примерные основы такие:
1) Минимизировать работу с дисками.
2) Минимизировать сдвиги и копирование памяти.
3) Многопоточность.
4) Фича почему твой архиватор, а не любой другой.
5) Расширяемость.
Аноним 04/05/22 Срд 13:21:35 #362 №2349931 
>>2349870
Зависит от того, чего ты хочешь.

>QML vs QtWidgets
Первый — даст хуёвенький перформанс на сложных гуях, на втором ты писать будешь минимум в 5 раз дольше.

>vs веб интерфейс через фреймворк JS`a
Если не нужны фичи которые дают десктопные приложения (нормальный персистенс, доступ к системным апи итд) то можно и так. Хоть сколько нибудь сложный гуй будет жрать ебические ресурсы.

>vs Электрон
Прошлый пункт только с доступностью фич десктопных приложений (но кучей ебли с бриджем итд).
Аноним 04/05/22 Срд 13:22:25 #363 №2349933 
>>2349883
>Какие задачи у архиватора?
Дла начала - примитивный CRUD без изъёбов. Я для того либу и пишу чтобы прохавать всю прелесть байтоебли.
Аноним 04/05/22 Срд 13:35:54 #364 №2349945 
>>2349933
>примитивный CRUD без изъёбов
Тогда просто реализуй адекватный алгоритм дефрагментации и используй резервирование памяти.
Аноним 04/05/22 Срд 13:46:56 #365 №2349950 
>>2349743
>>2349747
Нет, я про то что некоторые глифы в некоторых локалях при преобразовании регистра превращаются в два глифа (utf-32 в частности и кодировка вообще, тут ни при чем)
Могли бы уже icu в стандарт запихнуть.
Аноним 04/05/22 Срд 13:49:03 #366 №2349953 
>>2349950
>преобразовании регистра
>>2349829
>Регистры вообще миф, их не существует.
Аноним 04/05/22 Срд 13:51:15 #367 №2349956 
>>2349823
>>2349953
С точки зрения кода вы правы.
А вот с точки зрения юзера с, например, NTFS, всё не так однозначно.
Аноним 04/05/22 Срд 14:06:19 #368 №2349960 
Сап
Препод дал задание за неделю написать эмуль 8086 с четырьмя что-ли командами. В общем обращаюсь к вам, сейчас чёткое условие писать на плюсах. У меня ноль теории по тому как устроен 8086, как начинать писать сам эмуль и знания в плюсах околонулевые. Читал статью на хабре, видел эмуль на гитхабе, но моих мозгов пока не хватает понять. Порекомендуйте источников, книжек, может ютаб канал чтобы хоть с чего-то начать.
Спасибо!
Аноним 04/05/22 Срд 14:10:57 #369 №2349962 
>>2349960
Пока для себя вижу такой фронт работ:
Разобраться с тем как устроена архитектура любого процессора
Разобраться с особенностями 8086
Попробовать написать эмуль какого-нибудь простого чипа
Переходить непосредственно к 8086
Аноним 04/05/22 Срд 14:11:00 #370 №2349963 
>>2349960
>У меня ноль теории по тому как устроен 8086
https://ru.wikipedia.org/wiki/Intel_8086
>как начинать писать сам эмуль
Читаешь команды, а потом выполняешь действия.
Аноним 04/05/22 Срд 14:32:45 #371 №2349972 
java.png
>>2349963
>Система команд процессора Intel 8086 состоит из 98 команд (и более 3800 их вариаций):
Удачи анон. Ты точно программирование изучаешь?

Аноним 04/05/22 Срд 14:44:25 #372 №2349981 
>>2349972
>Удачи анон.
Спасибо.
>Ты точно программирование изучаешь?
К чему этот вопрос?
Аноним 04/05/22 Срд 14:49:04 #373 №2349984 
>>2349981
Считай это риторический. Изучать как работает процесоор это для каких-нибудь компьютерных инженеров если только. Препод наверно шиз и омега если такую шляпу задал.
Аноним 04/05/22 Срд 14:51:55 #374 №2349988 
>>2349984
>компьютерных инженеров
Системных программистов.
>такую шляпу задал
Там кода на 1к строк, в чем проблема?
Аноним 04/05/22 Срд 14:52:33 #375 №2349989 
>>2349988
>Там кода на 1к строк, в чем проблема?
В том, что я ебал.
Аноним 04/05/22 Срд 14:54:47 #376 №2349991 
>>2349931
Что выбрать тогда чтобы и шустро работало даже с большим кол-вом элементов, было не всрато и чтобы простую кнопочку 500 строками описывать не пришлось?
Аноним 04/05/22 Срд 15:00:43 #377 №2349993 
>>2349950
TIL, спс. Получается был неправ. чем больше знаю про уникод тем страшнее становится
Аноним 04/05/22 Срд 15:04:51 #378 №2349996 
>>2349972
Так я же говорю мне не надо полный эмулятор писать, просто выбрать 4 команды

У меня проблема в том что не знаю с чего начать
Аноним 04/05/22 Срд 15:06:27 #379 №2349997 
>>2349996
>У меня проблема в том что не знаю с чего начать
Давай начнем с того, что узнаем, что ты умеешь.
Аноним 04/05/22 Срд 15:26:32 #380 №2350012 
>>2349997
Если про кресты, то их на начальном уровне я знаю, посидеть погуглить как какие конструкции пишутся в инете не сложно (лямбды, шаблоны их не трогал). Вот с архитектурой сложнее, я банально не знаю с чего начать (если что-то требуется, то беру ручку и блокнот и пишу), просто сижу перед листком и ничего в голову не лезет. Надо понять как вообще процессор работает, какие у него блоки, команды (это препод не дал). Ну и вообще что такое эмулятор и с чем его едят
Аноним 04/05/22 Срд 15:30:45 #381 №2350015 
>>2349996
Перечисли команды, или там любые на твой выбор ?
Аноним 04/05/22 Срд 15:42:22 #382 №2350025 
>>2350012
>Надо понять как вообще процессор работает
Если тупое объяснение, то он читает команду, выполняет действие, изменяет состояние регистров. Думаю для процессора 80-ых годов достаточное объяснение. Более подробно в даташите.
https://html.alldatasheet.com/html-pdf/130012/INTEL/8086/147/1/8086.html
Список команд.
https://kaf401.rloc.ru/DSP/I8086_commands.htm
Аноним 04/05/22 Срд 15:47:41 #383 №2350035 
>>2350025
>https://html.alldatasheet.com/html-pdf/130012/INTEL/8086/147/1/8086.html
Обосрался.
https://www.alldatasheet.com/datasheet-pdf/pdf/1154707/INTEL/8086.html
Аноним 04/05/22 Срд 15:48:52 #384 №2350037 
>>2349988
В том что там 3800 вариаций. Я вот сейчас тоже делаю вариации и это очень тупо. И бесполезно.
Аноним 04/05/22 Срд 15:53:27 #385 №2350043 
>>2350012
> и ничего в голову не лезет.
Degeneratus Maximus. Пациент не может в абстракцию. Предлагаю лоботомию.
Аноним 04/05/22 Срд 15:54:08 #386 №2350044 
>>2350015
Любые на выбор
Аноним 04/05/22 Срд 15:58:45 #387 №2350050 
>>2350037
>В том что там 3800 вариаций.
Что значит 3800 вариаций?
Аноним 04/05/22 Срд 15:59:19 #388 №2350051 
>>2349074
>>2350044
возьми из моего поста - самые простые: mov, add, push, call. Препод подумает что ты красаучег.
Аноним 04/05/22 Срд 15:59:58 #389 №2350052 
>>2350050
Ты на первом курсе?
Аноним 04/05/22 Срд 16:00:22 #390 №2350053 
>>2350052
Почему ты так решил?
Аноним 04/05/22 Срд 16:00:43 #391 №2350054 
>>2350050
возможностей
Аноним 04/05/22 Срд 16:01:05 #392 №2350055 
>>2350053
Глупые вопросы задаешь
Аноним 04/05/22 Срд 16:05:36 #393 №2350060 
>>2350054
Возможностей чего?
>>2350055
Какие?
Аноним 04/05/22 Срд 16:08:22 #394 №2350062 
>>2350051
зачем call? проще всего тупо арифметических, а если по красоте то разве для нормального использования call не надо еще пару инструкций?
Аноним 04/05/22 Срд 16:09:20 #395 №2350063 
>>2350060
Эй масленок. Смотри что я нашел. Как раз для 8086

https://youtu.be/PHyIP9g9BQw?t=41
Аноним 04/05/22 Срд 16:13:01 #396 №2350066 
>>2350063
>Как раз для 8086
Зачем это уточнение?

Крестовики снова маневрируют и уходят от ответов.
Аноним 04/05/22 Срд 16:17:07 #397 №2350069 
>>2350066
>Зачем это уточнение?
Шиз ты думаешь ты самый умный? Я просто запалил 8086 на картинке.
Аноним 04/05/22 Срд 16:19:06 #398 №2350070 
>>2350066
>снова маневрируют
Ты не мужчина что-ли заниматься таким гейским траллингом? Выйди со мной раз на раз посмотрим как не поманеврируешь.
Аноним 04/05/22 Срд 16:23:38 #399 №2350073 
>>2350069
>Шиз ты думаешь ты самый умный?
Нет.
>Я просто запалил 8086 на картинке.
На какой?
>>2350070
>Ты не мужчина что-ли заниматься таким гейским траллингом?
Почему ты так решил?
>Выйди со мной раз на раз посмотрим как не поманеврируешь.
Зачем?
Аноним 04/05/22 Срд 16:35:01 #400 №2350078 
С чего начать вкат в робототехнику и программирование ИИ? Базу языка знаю.
Аноним 04/05/22 Срд 16:37:47 #401 №2350081 
>>2350078
>в робототехнику
С электроники.
>программирование ИИ
Со сбора инвестиций.
Аноним 04/05/22 Срд 16:41:58 #402 №2350083 
>>2349993
Всё так, Бро . Именно страшно. Такая же страшная фигня в операциях со временем с учётом истории изменения таймзон, летнего времени и високосных секунд.
Аноним 04/05/22 Срд 16:45:11 #403 №2350085 
>>2350081
>С электроники.
Её я тоже знаю. Мне в контексте языка.
>Со сбора инвестиций.
Нахуя если я сам себе инвестор?
Аноним 04/05/22 Срд 16:55:55 #404 №2350091 
>>2350085
>Мне в контексте языка.
Проблема в том, что ты хочешь от ИИ, в этом основная сложность понимания и реализации.
Аноним 04/05/22 Срд 16:58:12 #405 №2350094 
>>2349991
>Что выбрать тогда чтобы и шустро работало даже с большим кол-вом элементов
Qt.

> было не всрато
Нейтив. Если таргет линукс — Qt.

>чтобы простую кнопочку 500 строками описывать не пришлось?
Прям 500 нигде не придётся.
У тебя требования взаимоисключающие, пчел. Быстро ты можешь либо софт написать, либо софт будет быстро работать.

В целом возьми что проще и больше приглянется — и решай проблемы по мере поступления, можешь например взять QML и растягивать анус пока не начнёт болеть, потом сможешь свичнуться на виджеты, если таки заболит.
Аноним 04/05/22 Срд 16:59:30 #406 №2350096 
>>2350094
>Если таргет линукс — Qt.
Почему не гтк?
Аноним 04/05/22 Срд 17:11:59 #407 №2350101 
>>2350062
>еще пару инструкций?
еще парочку, пивная, еще парочку
Аноним 04/05/22 Срд 17:12:33 #408 №2350102 
>>2350091
Не в этом вопрос. Пока что я спрашиваю про то, что вообще сейчас применяется при написании нейронок и прочих игрушек в контексте языка. Так то конечная цель само собой сильный и независимый ии, лепить лица однокурсниц на тела порноактрис или высчитывать радиус углов нового айфона при которых продажи больше будут - 0 интереса.
Аноним 04/05/22 Срд 17:19:20 #409 №2350108 
>>2350102
>которых продажи больше будут - 0 интереса.
Масленок интерес не может быть отрицательным и скорее всего не будет == 0. То есть он будет в любом случае.
Аноним 04/05/22 Срд 17:25:24 #410 №2350110 
>>2350108
Да? И почему же тогда мне интересно дрочить сабж, пресный матан который я что в школе ненавидел, что сейчас ненавижу и всё прочее и вытекающее только потому, что мне это внезапно интересно и по этому пути меня не ведёт ничего кроме энтузиазма и одиночества?
Аноним 04/05/22 Срд 17:37:41 #411 №2350116 
>>2350102
cuda
Аноним 04/05/22 Срд 17:38:20 #412 №2350117 
16428512974560.jpg
>>2350110
>матан
матан это не математика Масленок, это математический анализ.

>дрочить
завязывай, в этом вся твоя проблема.
Аноним 04/05/22 Срд 17:40:53 #413 №2350120 
>>2350117
>матан это не математика Масленок, это математический анализ.
Ну да, проебался с определением. В школе ненавидел математику, сейчас ненавижу математику и матан.
Аноним 04/05/22 Срд 18:04:48 #414 №2350133 
Где вы вообще этот юникод используете? Своими ебучими эмоджи в cli срёте?
Аноним 04/05/22 Срд 18:10:18 #415 №2350139 
>>2350096
Тут уже был срач выше.

— Потому что кроссплатформа;
— Потому что нормальная документация;
— Потому что fluent C++ API;
— Потому что один большой консистентный фреймворк.
Аноним 04/05/22 Срд 18:23:29 #416 №2350149 
>>2350133
Везде, где может ввести юзер. Путь к файлу, idn имя хоста, что угодно. Ну и соответственно в лог надо писать. Текст ошибки от винды например.
Аноним 04/05/22 Срд 18:25:39 #417 №2350154 
>>2350149
А, ну ты бы так и сказал, что в софте для бухгалтерии.
Аноним 04/05/22 Срд 18:40:12 #418 №2350166 
978-3-319-58487-4.jpeg
>>2350078
>>>/ai/
Аноним 04/05/22 Срд 18:40:53 #419 №2350167 
>>2350166
Ссылка на трендель отклеилась
https://2ch.hk/pr/res/2286452.html
Аноним 04/05/22 Срд 20:14:36 #420 №2350226 
>>2349722
Ну я был джуном на плюсах на заводе с первого курса, а потом препод подкинул халтурку на жаве связанную с банком одним забугорным и так вот пошло поехало.
Аноним 04/05/22 Срд 20:47:26 #421 №2350240 
>>2350102
Нейросеточки, cv и slam жрут как не в себя. Особенно если тебе нужна автономность. Посему - avx, neon, cuda, opencl, tbb, и параллелизм, доступный в языке. Кастомные контейнеры, структуры данных, теорвер, дифгем, алгебра, функциональный анал, местами матан.

Может лучше ограничишься робототехникой и на С делать робота Фёдора? За Фёдора сейчас льготную попотеку дают.
Аноним 04/05/22 Срд 20:56:12 #422 №2350247 
>>2350240
>Нейросеточки жрут как не в себя
Ну типо, поэтому я в с++ тренде и пишу.
>За Фёдора сейчас льготную попотеку дают.
Как я уже говорил - материальных выгод я не ищу.
Аноним 04/05/22 Срд 21:12:50 #423 №2350255 
>>2350247
>выгод я не ищу
А кто сказал, что попотека это выгодно?

Не очень понятно, что ты по факту писать собрался? Всё и сразу? Ты голову себе сломаешь.

Если тебе надо именно сетки писать, то параллелизм низкого уровня (avx, cuda, интринсики), представление о работе с памятью, умение писать свои аллокаторы, понимание механизмов обмена данными между cpu/gpu или ram и различными кэшами.
По языку это первые несколько глав нормального учебника.
Сам C++ вообще никак не приспособлен для такой работы. В языке нет ни типов данных (матриц/векторов) ни операций над ними.

Если бэк, использующий нейросети, то шаблоны/классы, библиотека std - оставшаяся часть учебника по c++. Ещё нужен параллелизм с++ - он обычно в конце книжки (описан на отъебись).
Аноним 04/05/22 Срд 21:25:01 #424 №2350260 
image.png
>>2345617 (OP)
помогите пожалуйста разобраться, как этот код работает. Почему
(49 & 2) это 0
а
(51 & 2) это 2
Как это работает вообще?
Аноним 04/05/22 Срд 21:29:45 #425 №2350262 
>>2350260
Гугли побитовые операции.
Аноним 04/05/22 Срд 21:32:25 #426 №2350265 
>>2350260
Оператор & это побитовое И: 1 & 0 = 0, 1 & 1 = 1.
Двоичное представление чисел:
49 = 110001
51 = 110011
2 = 000010
Далее по всем позициям проходишься и применяешь попарно &
В итоге для 49 будет 000000 = 0, а для 51 - 000010 = 2
Аноним 04/05/22 Срд 21:35:43 #427 №2350266 
>>2350255
>Всё и сразу?
Всё, но не сразу. Ясное дело сначала я увязну в дроче с классификацией ириса и прочей базовой фигнёй. Нахуя мне это? Надоела пустая и бесцельная жизнь фуллстакомакаки, хочу чего-нибудь нового крутого. Паралеллизм не проблема, я зря Уильямса читал что ли?
Аноним 04/05/22 Срд 21:38:53 #428 №2350267 
>>2350266
Ну будешь драться с олимпиадниками за те 2 вакансии, которые сейчас размещены. Могу тебе сказать, что собес на такую позицию это 10-15 минут с++ и потом либо адовый параллелизм, либо матан.
Аноним 04/05/22 Срд 21:42:34 #429 №2350268 
>>2350267
Я НЕ буду искать никаких вакансий. Я НЕ буду работать в этой сфере на бизнес/НИИХУЯ. Мне хочется занятся этим ДЛЯ СЕБЯ исключительно потому, что мне это интересно. Может быть я обосрусь и скачусь в Qt-макаку, может быть стану крутым спецом и в мидтайме "каръеры" смогу сумею замутить каких-нибудь дроидов/андроидов - сейчас я об этом особо не думаю, сейчас мне тупо интересно с этим поебаться.
Аноним 04/05/22 Срд 21:43:17 #430 №2350269 
>>2350268
>каръеры
Да-да, олимпиадники и НИИХУЯ-шевцы победили, согласен.
Аноним 04/05/22 Срд 21:46:07 #431 №2350270 
>>2350262
>>2350265
спасибо за подробное объяснение, так и думал, что это что-то связанное с побитовыми операциями
Аноним 04/05/22 Срд 21:58:22 #432 №2350273 
>>2349883
>Используй объединения (union) для хранения бинарных заголовков
>(упростится работа с ними и RW)
Каким образом?
Аноним 04/05/22 Срд 22:04:37 #433 №2350279 
>>2350273
>Каким образом?
Таким union { raw[sizeof(struct)], struct { a, b, c, d } }, read(from, union.raw, sizeof(union.raw)) union.a,b,c,d -> ...
Аноним 04/05/22 Срд 22:07:15 #434 №2350280 
>>2350279
>Таким union { raw[sizeof(struct)], struct { a, b, c, d } }, read(from, union.raw, sizeof(union.raw)) union.a,b,c,d -> ...
Хотя в любом случае структуру надо будет выравнивать, поэтому никаким, пиши, как хочешь.
Аноним 04/05/22 Срд 22:09:10 #435 №2350283 
>>2350268
>НЕ буду работать в этой сфере
>стану крутым спецом
Кекеке.

>замутить каких-нибудь дроидов/андроидов
А это уже третье направление, не касающееся бэка и нейросетей.
Системное программирование - RTOS/Linux, драйвера, распределённые системы, межпроцессное взаимодействие. Программирование под интерфейсы железяки (преимущественно на С) и ЦОС математика для потоков с этих интерфейсов - преобразования фурье, фильтры калмана/гаусса, дебаеризация, матан для калибровки.

Аноним 04/05/22 Срд 22:18:33 #436 №2350292 
>>2350268
Я просто чё тебе хочу сказать. Если ты хочешь сделать своими силами нечто умное и автономное, то покупай Малинку/Ардуинку. Накатывай на них официальные AI тулкиты и с помощью питона реализуй свои идеи. Если ты пойдёшь с другого конца, то оно тебя сожрёт.
Аноним 04/05/22 Срд 22:26:56 #437 №2350299 
>>2350283
>А это уже третье направление, не касающееся нейросетей.
Ага, заебись, и будет мой дроид уметь только сварочным апаратом по заранее заданным координатам провести, 10/10.
Аноним 04/05/22 Срд 22:58:35 #438 №2350315 
>>2350299
Чтобы он что-то там мог ему надо научиться в пространстве ориентироваться. Но это уже четвёртое направление - SLAM, трекинг и теория управления (матан, матан, матан).
Аноним 04/05/22 Срд 23:11:19 #439 №2350327 
>>2350315
Да это всё и так понятно. Всё это отдельные модули которые так и так будут коммуницировать с этим самым "модулем ии" - тут без этого никак. Я же не говорю что-то в духе "Бля, сейчас почитаю авторанейм и завтра на иксвинге на Пандору". Тут и тупому ясно что это марафон в огромный пласт разнообразных наук и техник.
Аноним 04/05/22 Срд 23:18:56 #440 №2350335 
>>2350327
Ну так бери малинку, поиграйся с ней и потом снова иди формочки шлёпать.
Аноним 04/05/22 Срд 23:25:45 #441 №2350340 
>>2350335
>бери малинку
Подкинь промокод, ты же очевидно у них торговым представителем подрабатываешь.
>потом снова иди формочки шлёпать
Таков путь каждого краба в вашем ведре?
Аноним 04/05/22 Срд 23:31:00 #442 №2350344 
>>2350078
>вкат в робототехнику
читай советские книжки по кибернетике и тау, например
из них ты поймешь какой мат аппарат тебе нужен
потом читаешь соответствующие книги с нужной математикой, тоже советские
как то так
но ты же не последуешь этому совету? ха ха

Аноним 04/05/22 Срд 23:32:14 #443 №2350346 
>>2350344
>но ты же не последуешь этому совету?
Почему это? Я половину того, что знаю учил по советским учебникам.
Аноним 04/05/22 Срд 23:39:55 #444 №2350353 
>>2350340
У меня другая железка. Малинка легче в освоении. Не хочешь - бери ардуинку. К ней много всяких сопутствующих железок продаётся - дисплеи, приводы, сенсоры простенькие.

>путь краба
Вакансий мало, а кушать хочецца.
Аноним 04/05/22 Срд 23:42:20 #445 №2350354 
>>2350353
Ну так кушай. И тред читай. Я у тебя хлеб не забираю.
Аноним 04/05/22 Срд 23:42:38 #446 №2350355 
>>2350240
лучший способ оптимизировать нейросетку - это отказаться от нейросетки, но пидорасы что делают 10к грина в месяц на этом дерьме никогда в этом не признаются :D

Аноним 04/05/22 Срд 23:44:50 #447 №2350358 
>>2350355
>отказаться от нейросетки
И какие альтернативы?
Аноним 04/05/22 Срд 23:46:03 #448 №2350359 
>>2350266
>Надоела пустая и бесцельная жизнь фуллстакомакаки
лол, нахуя вы в кресты лезете
у тебя же наверняка на хлебушек с маслом зарплата есть и еще джем сверху? так ведь?
с жиру бесишься
Аноним 04/05/22 Срд 23:48:21 #449 №2350363 
>>2350268
чел
если ты работаешь кодером 8м часов
то самое хуевое что ты можешь сделать с собственным мозгом и телом - это приходить домой с работы и снова садиться еще на 3+ часа за комп, без разницы с какой целью, играть в игрушки или заниматься "другим" кодингом
ты можешь спокойно выгореть и все, в 35 лет сдохнуть бомжем от нищеты

Аноним 04/05/22 Срд 23:50:22 #450 №2350367 
>>2350359
а) Я начинал с С
б) Плюсы охуенные
в) Я 4 года к ряду пилю охуительные бизнес решения, сраттапы и нфт-блокчейн-крипто хуйню что меня порядком подзаебало.
Аноним 04/05/22 Срд 23:50:54 #451 №2350370 
>>2350269
они не победили
просто нет оплачиваемой работы, айтишников слишком много сегодня
бизнес может снимать "верхушку" с выпускающихся вчерашних студентиков, брать лучших
а середняк отправляется в помоечку
а вот в конце нулевых в россии и середняк брали на РАБоту
Аноним 04/05/22 Срд 23:53:37 #452 №2350373 
>>2350363
>приходить домой с работы
Но я работаю из дома...
>садиться еще на 3+ часа за комп
Я сижу по 16+ часов в день и что?
>ты можешь спокойно выгореть и все, в 35 лет сдохнуть бомжем от нищеты
А могу послезавтра отъехать от рандомного тромба. И что? Это повод скатываться в потреблядство и нихуянеделание?
Аноним 04/05/22 Срд 23:56:20 #453 №2350376 
>>2350358
захардкоженый алгоритм под решение частной проблемы
для тех же задач распознавания образов есть сотни алгоритмов, с соответствующим мат аппаратом

Аноним 04/05/22 Срд 23:58:28 #454 №2350379 
>>2350373
чел ты очень странный
хвастаешься тем что работаешь по 16+ часов в день и тут же сообщаешь что у тебя уже есть вариант умереть от инсульта?
хм, может стоит все же начать работать 8м часов в день и заняться собственным здоровьем? не?
Аноним 04/05/22 Срд 23:59:56 #455 №2350381 
image.png
>>2350376
>2022 год на дворе
>захардкоженый алгоритм под решение частной проблемы
Аноним 05/05/22 Чтв 00:02:22 #456 №2350384 
>>2350379
Я тебе про вероятности говорю, а не на здоровье жалуюсь. И выгорание у меня не от того, что я за компом живу а из-за рутины.
Аноним 05/05/22 Чтв 00:04:23 #457 №2350386 
16450153374170.jpg
>>2350381
>2030 год
>алгоритм
Аноним 05/05/22 Чтв 00:08:19 #458 №2350389 
image.png
>>2350386
>2030 год
Аноним 05/05/22 Чтв 00:18:03 #459 №2350396 
>>2350381
Ну он тебе дело говорит. Если речь идёт о поисках объектов на картинке, то часто их геометрия известна и не нужно гонять нейросеть. Достаточно сделать свёртку для edge detection и по маске найти то, что надо. Работает вот прям намного быстрее.
Аноним 05/05/22 Чтв 00:54:47 #460 №2350409 
>>2350354
Я тебе назвал 4 из 11 направлений, необходимых для создания умного устройства. Так как ты сам не знаешь, куда хочешь двигаться, то очевидно что надо брать конструктор на базе эмбед решения и пробовать разные направления.
Аноним 05/05/22 Чтв 00:56:40 #461 №2350410 
>>2350409
Ну так ты красавчик. Спасибо. Что тебе ещё сказать?
Аноним 05/05/22 Чтв 01:01:56 #462 №2350412 
>>2350410
Скажи чей Крым.
Аноним 05/05/22 Чтв 01:05:01 #463 №2350413 
>>2350412
Не, это не интересный вопрос, сорян.
Аноним 05/05/22 Чтв 02:35:36 #464 №2350426 
>>2350413
На сколько сократится количество рутины, если ты будешь работать не 16 часов, а 8? Описать мат модель и обосновать её. Написать на c++ код, вычисляющий количество рутины для произвольного интервала времени.
Аноним 05/05/22 Чтв 11:09:08 #465 №2350514 
>>2350426
Всё ещё скучно. Ещё попытку?
Аноним 05/05/22 Чтв 12:29:48 #466 №2350567 
>>2350412
матери твоей
Аноним 05/05/22 Чтв 13:50:35 #467 №2350620 
>>2350567
Родина-мать и так всё знает.
Аноним 05/05/22 Чтв 16:52:47 #468 №2350741 
Хелпаните. Что такое резюме в Яндекс? Я заполнил все предыдущие поля кроме необязательных и все что можно рассказал. Но обязательно надо загрузить резюме, а я хз что там должно быть.
Аноним 05/05/22 Чтв 16:57:39 #469 №2350749 
А еще такой вопрос: контест открывается сразу после отправки резюме или как? А то я надеялся в резюме написать хуйню, но зарешать контест. Будет обидно, если к контесту не допустят
Аноним 05/05/22 Чтв 17:19:28 #470 №2350770 
>>2350741
>>2350749
Там надо написать о себе. Про то на каких языках кодил и тому подобноее. Кинь свой имэил может вместе поготовимся. Думаю тоже попробовать.
Аноним 05/05/22 Чтв 17:22:03 #471 №2350774 
>>2350770
Спасибо. Мой тг @nosok2005, но я не уверен, что буду готовиться к собесу).
Аноним 05/05/22 Чтв 17:26:31 #472 №2350776 
>>2350774
А почта у тебя есть? По телеге тут деанонят.
Аноним 05/05/22 Чтв 17:32:16 #473 №2350786 
>>2350776
Номер можешь скрыть просто. Почта у меня есть, но там имя и фамилия в названии. А остальные я не чекаю и твои сообщения потеряются. Если ты закроешь номер, то никто не сдеанонит. В крайнем случае за 15 рублей номер купи и акк сделай фейковый
Аноним 05/05/22 Чтв 17:55:08 #474 №2350801 
>>2350786
проверь сообщения
Аноним 05/05/22 Чтв 18:31:48 #475 №2350823 
Планирую пилить 3D игру на Qt, какие подводные?
Аноним 05/05/22 Чтв 18:46:41 #476 №2350833 
bred.png
>>2350823
Аноним 05/05/22 Чтв 18:50:19 #477 №2350837 
>>2350833
Хочу запилить игру а учить целый UE для этого не хочу.
Аноним 05/05/22 Чтв 18:56:00 #478 №2350841 
>>2350837
Ну у тебя 2 стула в таком случае:
1) Запилить всё на движке попроще. Если не станет похуй на гейдев — рано или поздно упрёшься в движок и пойдёшь учить UE (лучше сразу пиздуй туда);
2) Запилить всё с нуля. Та же буханка что и с Qt а ещё ты скорее всего никогда не допилишь своего игоря до вменяемого состояния, но вне зависимости от того забьёшь на гейдев или нет получишь кучу знаний.
Аноним 05/05/22 Чтв 19:01:39 #479 №2350849 
>>2350841
Да мне и сейчас похуй на гейдев. Хочу и знания Qt-хи прокачать и запилить что-нибудь такое неплохое.
Аноним 05/05/22 Чтв 19:10:40 #480 №2350858 
>>2350849
>Хочу и знания Qt-хи прокачать
Ну ты тык её не прокачаешь, напиши что нибудь полезное. Клиент для какой нибудь хуйни типо сосача матрикса там.

>запилить что-нибудь такое неплохое
"Неплохое" в соло не запилишь.
Можно что-то средне-хуёвое с пизженными ассетами.
Аноним 05/05/22 Чтв 19:18:26 #481 №2350865 
>>2350858
>средне-хуёвое с пизженными ассетами
Извинись, я сеньор-блендерист.
Аноним 05/05/22 Чтв 19:29:28 #482 №2350875 
>>2350865
Тоже пилю движок. Научился создавать окно, закружать текстуры, передвигать юниты (с текстурами), сейчас пишу логику для атаки. Клики мышки тоже сделал. Пока полет нормальный. Есть знакомый дизайнер который уже заинтересовался проектом. Думаю летом плотно за ней сидеть, каждый день (плюс-минус). Единственный подводный это то, что стим заблокирован. Так что надо будет еще и свой магаз пилить.

другой анон.
Аноним 05/05/22 Чтв 20:08:03 #483 №2350907 
>>2350875
>Так что надо будет еще и свой магаз пилить
Не с того конца начал, для начала сделай свою материнку, процессор, ОС и т.д.
Аноним 05/05/22 Чтв 20:09:59 #484 №2350909 
16487818977110.mp4
>>2350907
жиный троллинг от омежки который ничего не умеет
Аноним 05/05/22 Чтв 20:13:24 #485 №2350911 
>>2350909
Урыл, продолжай изобретать велосипеды.
Аноним 05/05/22 Чтв 20:14:54 #486 №2350913 
>>2350911
Работать в юнити это та еще запара. А так у меня будет и пэт и навыки, а у тебя будет нескончаемая боль и кривой продукт.
Аноним 05/05/22 Чтв 20:18:03 #487 №2350914 
>>2350913
>А так у меня будет и пэт и навыки
Неа, у тебя будет геморрой, выгорание и незаконченный проект.
>а у тебя будет нескончаемая боль и кривой продукт.
Какой продукт? Боль от чего? Я предпочту взять готовое решение везде, где это возможно а не писать всё с 0.
Аноним 05/05/22 Чтв 20:22:37 #488 №2350917 
>>2350914
>выгорание
Это для тех кому нужны бабки в глубине души. И зумеров которые не определились что им надо.

>геморрой
Ты походу старый

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

>готовое решение везде, где это возможно а не писать всё с 0.
Это рационально не спорю. Но на этом далеко не уедешь. Или у тебя получится пошлятина которая миксимум 5/10 по оценкам будет. Людей интересует что-то новенькое.


Аноним 05/05/22 Чтв 20:24:23 #489 №2350919 
>>2350917
>Людей интересует что-то новенькое.
Что-то вроде очередного гейдвижка не предлагающего миру ничего нового?
Аноним 05/05/22 Чтв 20:36:54 #490 №2350927 
>>2350919
Я запросто создам что-нибудь. А ты упрешься в мейнстрим. Если вообще найдешь у кого своровать.
Аноним 05/05/22 Чтв 20:41:25 #491 №2350929 
>>2350927
Морально приготовился к тому, что твоё запросто затянется на n лет регулярного дрочерства?
Аноним 05/05/22 Чтв 20:55:49 #492 №2350933 
download (4).jpg
>>2350929
Я не из тех кто хоп-хоп и в продакшн
Аноним 05/05/22 Чтв 21:00:46 #493 №2350941 
>>2350933
Удачи тогда.
Аноним 05/05/22 Чтв 21:21:24 #494 №2350956 
>>2350567
Ванек я смотрю ты смелый дохуя
Аноним 05/05/22 Чтв 22:15:07 #495 №2350968 
>>2350956
Ванек это очередная js либа какая-то или что?
Аноним 05/05/22 Чтв 22:57:33 #496 №2350983 
libs.png
>>2350968
Что скажите по поводу либ Victoria 3, господа?
Аноним 05/05/22 Чтв 23:02:06 #497 №2350985 
>>2350983
>dll
Аноним 05/05/22 Чтв 23:05:03 #498 №2350986 
>>2350985
Yes.
Аноним 05/05/22 Чтв 23:12:06 #499 №2350989 
>>2350986
Мы тут таким не занимаемся, пожалуйте вслед за своим военным кораблём.
Аноним 05/05/22 Чтв 23:18:02 #500 №2350993 
>>2350983
А чё сказать то? Обычный набор. Рантайм плюсов, рантайм куды, дефолтные либы для картинок, zlib для архивов с ресами и рантайм для иксов с компилятором (видимо для шейдеров).
Аноним 05/05/22 Чтв 23:25:30 #501 №2350997 
>>2350989
Victoria 3 написана на плюсах соси бобон
Аноним 05/05/22 Чтв 23:29:44 #502 №2350998 
>>2350993
Знаешь что такое CUDA? Я вот только понял что это для аппаратного ускорения.
Аноним 05/05/22 Чтв 23:35:43 #503 №2351003 
>>2350997
Нормальный плюсовик для винды не пишет
Аноним 05/05/22 Чтв 23:37:40 #504 №2351004 
>>2351003
Дай определение нормальности.
Аноним 05/05/22 Чтв 23:41:38 #505 №2351008 
>>2351003
А кто из нормальных пишет для винды?
Аноним 05/05/22 Чтв 23:43:54 #506 №2351009 
>>2351004
Всё что не имеет отношения к винде - норма.
>>2351008
>кто из нормальных
>пишет для винды

Аноним 05/05/22 Чтв 23:44:14 #507 №2351010 
>>2351008
Поясни пожалуйста. Для чего все пишут тогда если не винды? Самая распостраненная система. Правильно?
Аноним 06/05/22 Птн 13:30:58 #508 №2351220 
>>2351010
>Для чего все пишут тогда если не винды?
Для денег.
>Правильно?
Независимой статистики все равно нет, любой ответ подходит.
Аноним 06/05/22 Птн 14:13:38 #509 №2351249 
Я уже заебался гуглить, помогите. Ебучий компилятор пишет что конструктор копирования implicitly deleted. Не могу класс скопировать, блять. При этом я проверил — все его элементы имеют конструктор без параметров и рабочие конструкторы копирования, если вдруг он не может элементы класса копировать. А ещё ссылку можно с класса взять, но операторы сравнения не работают — пишет портянку про отсутствие подходящего метода для сравнения. Что за ебень? Почему он не может дефолтный конструктор копирования сгенерить и почему операторы сравнения не сравнивают?
Аноним 06/05/22 Птн 14:17:47 #510 №2351252 
>>2351249
От кюобжект наследуешься?
Аноним 06/05/22 Птн 15:45:21 #511 №2351296 
>>2351252
Вообще без наследования. Я пока на void* переписал всё и вручную написал в процедурном стиле что надо. Поебень какая-то.
Аноним 06/05/22 Птн 16:07:35 #512 №2351316 
>>2351296
Тогда правило шести видимо? Если определить один из конструкторов, операторов присваивания или деструктор то дефолтные удаляются. Ты их должен explicitly объявить default.
Аноним 06/05/22 Птн 16:13:53 #513 №2351319 
1608547443989.png
>>2351316
А ему похуй. Он всё равно удаляет. И я не смог нагуглить на каком основании он это делает.
Аноним 06/05/22 Птн 16:17:05 #514 №2351321 
>>2351319
Ты там должен const написать, по l ссылке только так.
Аноним 06/05/22 Птн 16:22:09 #515 №2351322 
1609533792535.png
>>2351321
> там должен const написать
Ещё варианты?
Аноним 06/05/22 Птн 16:56:08 #516 №2351341 
>>2351322
Вот теперь вообще без вариантов...
Аноним 06/05/22 Птн 17:38:54 #517 №2351387 
Как можно обнаружить обнаружить изменение значения переменной? Через тхред или как-нибудь ещё?
Аноним 06/05/22 Птн 17:43:40 #518 №2351392 
>>2351322
У полей точно есть правильные публичные конструкторы копирования (c const&) и не deleted деструкторы?
не говоря о ебучих случаях вроде полей типа T&&, надеюсь такой хуйни у тебя нет
Аноним 06/05/22 Птн 18:14:41 #519 №2351407 
>>2351387
Обернуть в объект и повесить колбеки на операции изменения, но это только для явного изменения сработает.
Аноним 06/05/22 Птн 18:28:40 #520 №2351412 
>>2351387
Можно повесить PAGE_GUARD на нужный кусок памяти и ловить эксепшен STATUS_GUARD_PAGE_VIOLATION при любом обращении к нему. Будешь знать прям какая инструкция лезет туда, даже про попытки чтения узнаешь.
Аноним 06/05/22 Птн 18:57:58 #521 №2351427 
>>2351392
Бля, ну я даже проверил сейчас - сделал всё публичным, вручную создавал новый класс, каждое поле копировал в новый и всё копируется. Но дэфолтный всё так же удаляет. Если через STL пытаться что-то делать с этим классом, мне сблёвывает портянку на 10 строк про "no matching overloaded function found", "attempting to reference a deleted function" и "could not deduce template argument for '<unnamed-symbol>'". Пиздец кал, это кстати MS C++20.
Аноним 06/05/22 Птн 19:02:32 #522 №2351431 
>>2351427
>MS C++20
В этом и есть твоя проблема
Аноним 06/05/22 Птн 19:13:42 #523 №2351439 
>>2351431
А хули делать? На cmake я не хочу. А C+20 мне нужен, у меня на корутинах и STL всё.
Аноним 06/05/22 Птн 19:20:25 #524 №2351441 
>>2351439
Ручками всё, ручками.
Аноним 06/05/22 Птн 19:21:15 #525 №2351442 
>>2351439
Зачем писать под стандарт, которому даже полгода нет?
>На cmake я не хочу
По-твоему проблема в системе сборки?
Аноним 06/05/22 Птн 19:25:24 #526 №2351445 
>>2351442
Зачем писать на мёртвом языке?
Аноним 06/05/22 Птн 19:26:22 #527 №2351446 
>>2351445
>Зачем писать на мёртвом языке?
Легаси.
Аноним 06/05/22 Птн 19:27:33 #528 №2351448 
>>2351446
При чём тут 3 пидора в трусах?
Аноним 06/05/22 Птн 19:28:43 #529 №2351450 
>>2351448
Какие?
Аноним 06/05/22 Птн 19:29:29 #530 №2351452 
>>2351450
Три
Аноним 06/05/22 Птн 19:29:55 #531 №2351453 
>>2351442
> которому даже полгода нет
Он уже почти год как на 100% реализован везде. У GCC вроде вообще года 2 как.
Аноним 06/05/22 Птн 19:31:20 #532 №2351454 
>>2351448
Они с тобой в одном треде сидят? Когда вкладку в браузере переключаешь они пропадают?
Аноним 06/05/22 Птн 19:34:49 #533 №2351455 
>>2351454
Не знаю, я на это не тестировал.
Аноним 06/05/22 Птн 19:38:49 #534 №2351458 
>>2351455
>Не знаю
Логи скинь.
Аноним 06/05/22 Птн 19:46:05 #535 №2351464 
>>2351458
Лапы, хвост и усы - вот мои логи.
Аноним 06/05/22 Птн 21:32:20 #536 №2351556 
image.png
Что есть базовый набор стандартной либы и буста?
Аноним 06/05/22 Птн 21:57:10 #537 №2351567 
>>2351556
YAP, Type Traits, TTI, CallableTraits, HOF, Fusion, Metaparse, Hana, Preprocessor, MPL - абсолютный минимум который должен знать каждый вкатывальщик!
окей, это шутка
на самом деле под "знанием буста" обычно подразумевают одну практическую библиотеку, а именно asio

Аноним 06/05/22 Птн 22:03:22 #538 №2351572 
>>2351439
>на корутинах
а как сопрограммы реализованы в языке, кто знает?
они используют "волокна" (fibers в windows) операционной системе или как то просто эмулируются на потоках операционной системы? нахуя тогда их было делать если выбрана вторая реализация?
Аноним 06/05/22 Птн 22:08:47 #539 №2351579 
>>2351567
Ну Азия это понятно, а что ещё в бусте годного есть чтобы и практично и козырнуть в резюме можно было?
Аноним 06/05/22 Птн 22:35:22 #540 №2351605 
>>2351572
Они не реализованы как у других, тут нет жесткой реализации. Корутины в крестах просто перемещают выполнение кода в другой фрейм, остальное как захочешь. Можешь продолжить выполнение корутины в другом потоке, можешь приостановить её через co_await, можешь возвращать из неё асинхронно данные. Через корутины ахуенно делать lock-free многопоточность, контролируя каждый поток, а не как во всяких растах где всё за тебя решили гомогеи.
Аноним 06/05/22 Птн 22:41:10 #541 №2351607 
Есть какой-нибудь справочник по всем фичам 11-20?
Аноним 06/05/22 Птн 23:18:42 #542 №2351643 
>>2351607
Спецификацию читай, чел. У крестов она шикарная.
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/n4849.pdf
Аноним 06/05/22 Птн 23:22:23 #543 №2351645 
>>2351643
>У крестов она шикарная.
А мне говорили что в крестах вообще ничего хорошего нет.
Бтв если я освою все эти 1800 страниц я стану сеньором?
Аноним 06/05/22 Птн 23:58:48 #544 №2351660 
>>2351645
Нет, но сможешь хотя бы быть джуном через пол года практики. Кто не читал спецификацию вообще не могут крестовиками считаться, они просто сишники, пишущие процедуры с классами.
Аноним 07/05/22 Суб 00:02:58 #545 №2351663 
>>2351660
Ну ёбана, 2 года читаю Страуструпов, Мейерсов, Александресок и прочих, 3 проекта запилил - 1 с бустом, 1 на qtхе и я всё ещё даже не ждун?
Аноним 07/05/22 Суб 07:42:19 #546 №2351730 
Кто подскажет, по какому принципу выравнивание в структкрах происходит? Нигде не могу нагуглить, чтобы было написано человеческим языком.
Аноним 07/05/22 Суб 09:35:57 #547 №2351749 
>>2351663
>я всё ещё даже не ждун
Зачем тебе рабская бирка?
Аноним 07/05/22 Суб 09:37:40 #548 №2351750 
>>2351730
https://docs.microsoft.com/en-us/cpp/cpp/alignment-cpp-declarations
Аноним 07/05/22 Суб 11:00:06 #549 №2351766 
>>2351749
Дело не в бирках, а в пирамиде Маслоу.
Аноним 07/05/22 Суб 11:08:39 #550 №2351771 
>>2351766
Каким образом?
Аноним 07/05/22 Суб 11:09:41 #551 №2351773 
>>2351771
Вкусно покушоть и признание как минимум.
Аноним 07/05/22 Суб 11:14:03 #552 №2351776 
>>2351766
Я официально старший инженер - программист. Интересно, как у нас hr зовут?
Аноним 07/05/22 Суб 11:15:54 #553 №2351778 
>>2351773
>Вкусно покушоть
Как это связано?
>признание
Откуда?
Аноним 07/05/22 Суб 11:20:58 #554 №2351781 
>>2351776
>Интересно, как у нас hr зовут?
А должно быть? Хз, какая-нибудь Алёна или Тимур?
>>2351778
>Как это связано?
Получил котлету бабла - покушол нормально, что за вопросы тупые?
>Откуда?
Из всех работ на которых я ебашил только будучи прогером я почувствовал себя человеком.
Аноним 07/05/22 Суб 11:25:10 #555 №2351782 
>>2351781
>Получил котлету бабла - покушол нормально
Джуны не получают деньги, им сразу едой платят.
>что за вопросы тупые?
Я работаю по методичке.
>Из всех работ на которых я ебашил только будучи прогером я почувствовал себя человеком.
Мазохист?
Аноним 07/05/22 Суб 11:33:20 #556 №2351785 
>>2351782
>Джуны не получают деньги, им сразу едой платят.
Это происходит только потому, что есть дебилы посмотревшие 1 курс, нихуя не умеющие и согласные на такие условия.
>Я работаю по методичке.
Это-то мне как раз понятно.
>Мазохист?
Снова тупой вопрос.
Аноним 07/05/22 Суб 11:40:33 #557 №2351787 
>>2351785
>Это происходит только потому, что есть дебилы посмотревшие 1 курс
Уверен?
>нихуя не умеющие и согласные на такие условия
Что ты умеешь?
Аноним 07/05/22 Суб 11:53:01 #558 №2351791 
Зачем принимать указатель на указатель (void-звездочка-звездочка)?
Функция принимает такой указатель в качестве out-параметра, создает объект (структуру), делает указатель на нее и кладет в эту переменную указатель на этот указатель. Не проще ли ограничиться одним уровнем указателей?
Аноним 07/05/22 Суб 11:55:05 #559 №2351792 
>>2351791
Изменение указателя.
Аноним 07/05/22 Суб 11:57:57 #560 №2351793 
>>2351787
>Уверен?
Я общаюсь с лидами, так что да.
>Что ты умеешь?
С какой целью интересуешься?
Аноним 07/05/22 Суб 12:03:23 #561 №2351796 
>>2351793
>Я общаюсь с лидами, так что да.
Почему они являются для тебя авторитетами? Что они умеют? У тебя заниженная самооценка?
>С какой целью интересуешься?
Социальный опрос провожу.
Аноним 07/05/22 Суб 12:12:08 #562 №2351797 
>>2351796
>Социальный опрос провожу.
А выглядит так что ты бот который моё время впустую тратит.
>Почему они являются для тебя авторитетами?
Они не являются.
>Что они умеют?
Пиздеть они точно умеют, об остальном не ебу.
>У тебя заниженная самооценка?
Не жалуюсь.
Аноним 07/05/22 Суб 12:18:22 #563 №2351799 
>>2351797
>А выглядит так что ты бот который моё время впустую тратит.
Ты сам тратишь свое время на оправдания.
>Они не являются.
>>2351793
>Я общаюсь с лидами, так что да.
Противоречие.
>>2351797
>Пиздеть они точно умеют, об остальном не ебу.
>Не жалуюсь.
Ты принял потенциальное ложное утверждение от других людей и выдаешь его, как подтверждение твоей (навязанной) точки зрения, точно уверен, что у тебя нет проблем с ней?
Аноним 07/05/22 Суб 14:53:55 #564 №2351872 
Есть ли какая-нибудь сетевая песочница? Я пишу сетевое приложение и мне надо проверить как оно работает на куче компов и как они друг с другом взаимодействуют.
Аноним 07/05/22 Суб 14:57:26 #565 №2351874 
>>2351791
Если тебе надо вернуть указатель из метода, но не через return, а через параметры, то ты можешь либо передать его по ссылке либо через указатель на указатель. Чаще всего встречается при линковке с кодом на С, так как в С ссылок нет и там у них ⚹⚹ везде. В c++ это пидорская практика и, например, const T⚹⚹ = T⚹⚹ вообще запрещено.
Аноним 07/05/22 Суб 16:34:15 #566 №2351916 
изображение.png
Почему?
Аноним 07/05/22 Суб 16:44:23 #567 №2351921 
>>2351916
Потому что это не указатели на классы из одной иерархии и не void*.
Для таких случаев используется reinterpret_cast или каст в стиле C.
Аноним 07/05/22 Суб 16:46:15 #568 №2351923 
>>2351921
Спс
Аноним 07/05/22 Суб 17:43:25 #569 №2351971 
Как в qt получить mac адрес непосредственно Ethernet, а не vmware, не openvpn и тд?
Аноним 07/05/22 Суб 17:49:37 #570 №2351974 
>>2351971
В целом нашел решение путем сравнения с именем адаптера. Только вопрос, он зовётся Ethernet на любой винде?
Аноним 07/05/22 Суб 19:54:06 #571 №2352028 
С чего начать вкат в системное программирование не линупсе?
Аноним 07/05/22 Суб 20:02:41 #572 №2352031 
>>2352028
С выбора языка.
Аноним 07/05/22 Суб 20:04:57 #573 №2352032 
>>2352031
Он выбрал меня сам
Аноним 07/05/22 Суб 20:09:37 #574 №2352037 
>>2352032
С определения, что для тебя является системным программированием.
Аноним 07/05/22 Суб 20:13:21 #575 №2352039 
>>2352037
Байтоебля с ядром, модулями, драйверами, тыры-пыры.
Аноним 07/05/22 Суб 20:15:48 #576 №2352042 
>>2352039
Пиши под пингвина.
Аноним 07/05/22 Суб 20:16:37 #577 №2352044 
>>2352042
А что писать то?
Аноним 07/05/22 Суб 20:18:10 #578 №2352046 
>>2352044
>>2352039
>Байтоебля с ядром, модулями, драйверами, тыры-пыры.
Аноним 07/05/22 Суб 20:19:32 #579 №2352048 
>>2352046
А учиться как?
Аноним 07/05/22 Суб 20:25:10 #580 №2352054 
>>2352048
Как хочешь.
Аноним 07/05/22 Суб 20:29:32 #581 №2352060 
>>2352054
Ты очень плохой собеседник и советчик
Аноним 07/05/22 Суб 20:30:30 #582 №2352061 
изображение.png
изображение.png
Помогите.
Аноним 07/05/22 Суб 20:35:50 #583 №2352063 
ШинСдк не стоит или не все пути к нему прописаны.
Аноним 07/05/22 Суб 20:50:55 #584 №2352068 
c++.png
Сап. Изучаю ООП, даётся сложно, путаюсь и постоянно забываю материал и все такое
Объясните, в чем разница между двумя этими программами? Я написал программы с одними и теми же объектами и одинаковым результатом. В чем разница и в каких случаях как объявлять переменные объектов? Знаю два этих метода, но нахера они — пока в башке не отложилось, запутался сильно.
Аноним 07/05/22 Суб 20:54:13 #585 №2352069 
>>2352068
>конструктор, деструктор, public-private, virtual и только
>сложно
Что же будет когда ты до логических конструкций дойдёшь...
Аноним 07/05/22 Суб 20:55:27 #586 №2352071 
>>2352068
Слева вроде бы конструктор по умолчанию: переменные не инициализируются и выводятся те значения, которые записаны в конструкторе. А справа наоборот: в конструкторе нет значений, но они даются уже в объекте. А какая разница то? Где мне может понадобиться первый вариант, а где второй? Просто не понимаю, зачем мне эта информация.
Аноним 07/05/22 Суб 21:11:12 #587 №2352079 
>>2352069
Да, у меня совсем нет способностей в программировании, но и в универе хочу доучиться, и понять базу С++ для себя. А так, может, найду себя в чем-нибудь попроще веб-макака, 3d. Усугубляется проблема тем, что мне не хватает практики. До ООП я изучал С++ по курсу на Степике, и информация хорошо отложилась, проблем совсем не было. До курса я изучал так же, как сейчас, и у меня были проблемы. Но ООП курс не затрагивал, поэтому его я изучаю по сайтам:
http://cppstudio.com/cat/274/
https://purecodecpp.com/
Канал SimpleCode на Ютубе
И опять сталкиваюсь со старой проблемой: информация быстро забывается, не закрепляется, т.к нет практики. В курсе я писал программы, которые проверял преподаватель, мог спросить у него, что я сделал не так, получить помощь. Сейчас я придумываю задачи сам себе. А когда у меня что-то не получается — а у меня всегда что-то не получается — я начинаю простаивать. В лучшем случае мне смогут помочь на Cyberforum
Может, есть какие-то советы, как практику получать, чтобы всё не забывалось и не путалось в башке? Если просто читать, смотреть, а самому либо не кодить, либо просто повторять то же самое, что в примерах — то будет как у меня: хуёво. А как нормально?
Аноним 07/05/22 Суб 21:17:35 #588 №2352083 
>>2352079
>В лучшем случае мне смогут помочь на Cyberforum
Если тебе на нем могут помочь, то тебе уже ничего не поможет.
>Может, есть какие-то советы, как практику получать
Пиши код.
Аноним 07/05/22 Суб 21:46:06 #589 №2352105 
>>2352079
>Пиши код.
И только. Причём не всякую хуйню вроде игрищ с i-o в cli а придумать что-нибудь крупное и работать над этим. Тебе не нужна жирная теория, базу выучил - начинаешь писать. Поначалу будет хуйня получаться, не будет компилиться, память потечёт. Ты должен учиться искать информацию, гуглить, читать референс, даже сорсы хедеров иногда. Стак и прочие форумы нужны только в рид онли моде, абсолютно всё, с чем ты столкнёшься - уже было решено до тебя. И самое главное, анон, и это не касается только прогерства, помни главное: не ешь жёлтый снег ты должен всегда и во всём стремиться прыгнуть выше головы.
Аноним 07/05/22 Суб 22:22:18 #590 №2352133 
Screenshot from 2022-05-07 22-21-16.png
Блять, ебаные вы пидарасы нахуй, мне кто-то скажет, почему это ваше ебаное гавно не работает? Шо, опять UB? Самих не заебало говно жрать?
Аноним 07/05/22 Суб 22:29:55 #591 №2352136 
Screenshot from 2022-05-07 22-27-53.png
>>2352133
Лол, вот почему так всегда? Честно, анончик, я искренне и продолжительно насосался, но только после гневного поста понял, что когда в байтиках попадается ненулевой sign бит, при конвертации uint64 он заполняет единицами весь остальной bitwise or.
Аноним 07/05/22 Суб 22:32:54 #592 №2352139 
>>2352136
>почему так всегда?
Потому что только встав с колен после киберунижения от конпелятора и дебаггера ты обретешь крылья.
Аноним 07/05/22 Суб 22:36:27 #593 №2352142 
Что происходит, когда я пытаюсь вызвать boost asio connect к устройству, к которому я уже подключен?
Аноним 07/05/22 Суб 22:39:46 #594 №2352144 
>>2352133
>Шо, опять UB?
Таки да, res не инициализируется.
Аноним 07/05/22 Суб 23:01:01 #595 №2352151 
>>2352144
не, я уже сам себе ответил, на res похуй, он и так на всю свою ширину сдвигается за левый край экрана в итоге
Аноним 07/05/22 Суб 23:32:08 #596 №2352159 
>>2351660
>Кто не читал спецификацию вообще не могут крестовиками считаться, они просто сишники, пишущие процедуры с классами.
А ну-ка, синьор-помидор, вот тебе вопрос: верно ли утверждение "чисто виртуальная функция - это виртуальная функция у которой нет тела"?

Салтовка-кум
Аноним 07/05/22 Суб 23:41:59 #597 №2352162 
>>2352159
Чтобы ответить на этот вопрос никакой спецификации читать не нужно.
Аноним 07/05/22 Суб 23:49:18 #598 №2352165 
>>2352159
Верно?
Аноним 07/05/22 Суб 23:50:40 #599 №2352167 
>>2352142
Ничего
Аноним 08/05/22 Вск 00:04:38 #600 №2352177 
>>2352162
>Чтобы ответить на этот вопрос никакой спецификации читать не нужно.
Так ответь, чо ты как не синьор, а как трейни позорный
Аноним 08/05/22 Вск 00:06:13 #601 №2352179 
>>2352177
Ответила в директ
Аноним 08/05/22 Вск 01:47:46 #602 №2352195 
>>2352167
Соединение не установится?
Аноним 08/05/22 Вск 01:57:58 #603 №2352199 
>>2352195
На всё воля Силы
Аноним 08/05/22 Вск 08:04:40 #604 №2352234 
>>2352179
Скинь сисечки
Аноним 08/05/22 Вск 10:10:24 #605 №2352277 
>>2352234
Ты сегфолт пофиксил, селкат немытый?
Аноним 08/05/22 Вск 10:57:02 #606 №2352325 
>>2352234
Там жыросиськи второго размера и борода
Аноним 08/05/22 Вск 13:33:38 #607 №2352457 
В одном из прошлых тредов кто-то как-то обмолвился, что сейчас за использование функций-фабрик могут отхлестать ссаными тряпками.
Вопрос: почему? Ведь функции-фабрики можно для удобства по-разному назвать. Если такая фабрика бросит исключение (например, при попытке получения какого-нибудь ресурса) это исключение возникнет в функции-фабрике, а не в конструкторе, и его можно будет спокойно обработать.
Код для примера
https://0bin.net/paste/MZZRUmdk#dk7zaNNiLH4cyhJbelE9OGm0K3WuFmgqg+JQnPoRbFk
Где подводные?
Аноним 08/05/22 Вск 13:44:31 #608 №2352468 
>>2352457
> Где подводные?
В оптимизациях. Изобретаешь велосипед вместо конструкций языка - отсекаешь возможность оптимизаций.
Аноним 08/05/22 Вск 13:48:03 #609 №2352470 
>>2352457
>Ведь функции-фабрики можно для удобства по-разному назвать.
+15 строчек в документации.
>Где подводные?
В написании дополнительного кода.
Аноним 08/05/22 Вск 14:50:33 #610 №2352534 
>>2352457
>Вопрос: почему?
Потому что конкретному ананасу не нравятся фабрики.

>Где подводные?
Нигде, если проект твой — пиши как удобнее. Если не твой — пиши как там принято.

>>2352468
Давай пруфай чего он там отсекает или отсеку тебе за щеку.
Аноним 08/05/22 Вск 14:52:27 #611 №2352538 
>>2352470
>+15 строчек в документации.
### create()
Builds class Huita.
@throws: ProizoshlaHuita
Аноним 08/05/22 Вск 15:10:26 #612 №2352564 
>>2352538
Причина? Отличия?
Аноним 08/05/22 Вск 15:23:38 #613 №2352574 
>>2352457
Таскать фабрику нужно будет вместе с объектом по всему коду. При этом тебе придётся закрыть часть конструкторов порезав интерфейс. Смысл есть только если Foo это ресурс, добываемый каким-то хитрым способом, о чём должна знать только фабрика. А ради исключение такой педалить точно не стоит.
Аноним 08/05/22 Вск 16:45:27 #614 №2352663 
>>2352159
Так никто внятно и не ответил
"Эксперды" ояебу

>>2352457
>использование функций-фабрик
Надо идти от задач, а не слушать долбоебов. Named constructor позволяет:
1. вместо 10 разных Xynta::Xynta иметь нормально проименнованные Xynta::fromSosach, Xynta::fromForchong и т.д.
2. зафорсить аллоцирование объекта только на куче (в shared_ptr)

>Если такая фабрика бросит исключение (например, при попытке получения какого-нибудь ресурса) это исключение возникнет в функции-фабрике, а не в конструкторе, и его можно будет спокойно обработать.
Щито? По описанию похоже что ты не знаешь про function-try-block (https://en.cppreference.com/w/cpp/language/function-try-block --- просвящайся), хотя ловля эксепшонов в конструкторе нужна НУ ОЧЕ редко

>>2352534
Двачую

Салтовка-кум
Аноним 08/05/22 Вск 17:58:37 #615 №2352723 
Screenshot from 2022-05-08 17-52-23.png
Screenshot from 2022-05-08 17-53-26.png
Screenshot from 2022-05-08 17-55-21.png
Пишу архиватор. remove.cc отвечает за удаление файлов из архива. Насколько платформонезависимым, по вашему мнению, является такой жадный способ выгрызания кусков из середины файла?
Аноним 08/05/22 Вск 18:03:08 #616 №2352728 
>>2352723
>char ⚹⚹argv
Да иди ты нахуй
Аноним 08/05/22 Вск 18:04:10 #617 №2352729 
>>2352723
Вот куда ты из Си-треда сбежал.
Аноним 08/05/22 Вск 18:07:47 #618 №2352734 
>>2352723
Чухан.
Аноним 08/05/22 Вск 18:10:16 #619 №2352735 
>>2352728
Спокойно, я это все еще переделаю. Пока что функции addToArchive, extractFromArchive, removeFromArchive и listArchiveContents вызываются прямиком из мейна. Потом будет интерактивщина, чтоб один раз закешировав все Entry делать множество операций, и естественно я приду к другому интерфейсу. А пока я завернул это говно в Args. Правда, оно какого-то хуя не хочет работать с ranges::алгоритмами, хотя begin и end возвращает полноценные указатели. Хуй знает, чего ему в iterator_traits не хватает, заебался разбираться в логах.
Аноним 08/05/22 Вск 18:12:40 #620 №2352738 
>>2352723
Ебать, отдельные еще и методы iterateDrisnya. Сделай кастомный итератор и пронзи своим STL небеса!
Аноним 08/05/22 Вск 18:16:46 #621 №2352742 
Screenshot from 2022-05-08 18-15-40.png
>>2352738
Уже делал подобную пиздень на работе. Тогда придется очень много говна писать и на инпут, и на аутпут. Не хочу.
Аноним 08/05/22 Вск 18:19:05 #622 №2352744 
>>2352742
Ты специально скринами показываешь, чтобы код не скопировали?
Аноним 08/05/22 Вск 18:21:51 #623 №2352746 
>>2352744
Я просто хуй его, как на pastebin несколько файлов залить. Ну, а это последнее почему бы и не скрином, тут же пара строчек.
Аноним 08/05/22 Вск 18:29:25 #624 №2352759 
>>2352663
Ты тупой и не можешь прочитать, что в стандарте написано про virtual функции may have and destructor must have?
Аноним 08/05/22 Вск 18:34:46 #625 №2352769 
>>2352663
>1. вместо 10 разных Xynta::Xynta иметь нормально проименнованные Xynta::fromSosach, Xynta::fromForchong и т.д.
Шаблоны нинужны, да. Ты наверное ещё в название меременных тип вписываешь, ка диды из Микрософта советовали.
Аноним 08/05/22 Вск 18:56:08 #626 №2352806 
Screenshot from 2022-05-08 18-55-17.png
>>2352723
ай бляяяя, перемудрил и обосрался с еофом
Аноним 08/05/22 Вск 18:58:42 #627 №2352809 
>>2352759
>Ты тупой и не можешь прочитать
Тупые тут местные эксперды, которые как раз несут хуиту

>>2352769
>Шаблоны нинужны
Мань, шаблоны не помогут, когда у тебя реализации внутри разные
Аноним 08/05/22 Вск 19:02:38 #628 №2352813 
>>2352809
>не помогут
Про адапторы и композицию ты, конечно же, не слышал.
Аноним 08/05/22 Вск 19:05:55 #629 №2352816 
>>2352813
А ты, конечно же, не слышал про именованные конструкторы и теперь пытаешься набрасывать паттерны на задачу, условия которой даже не озвучены
Аноним 08/05/22 Вск 19:24:56 #630 №2352839 
>>2352806
А вот если бы писал в ИДЕ, то она тебе бы сказала не писать такой хуйни как конструкторе или ифе. Кста, хули const нигде нет? На производительность кладешь хуй?
Аноним 08/05/22 Вск 19:34:10 #631 №2352853 
>>2351781
> >Интересно, как у нас hr зовут?
> А должно быть? Хз, какая-нибудь Алёна или Тимур?
Не, я имел в виду, что мне интересно какая у них должность по штатному.
Аноним 08/05/22 Вск 19:36:47 #632 №2352855 
>>2352839
Сейчас бы на плюсах писать ради производительности а не ради киберебли.
Аноним 08/05/22 Вск 19:41:50 #633 №2352859 
>>2352083
>Если тебе на нем могут помочь, то тебе уже ничего не поможет.
Почему? Хоть бы пояснил, а не многозначительно накинул дизморали. Если возникают проблемы, то можно создать тему там. Что не так?
В разрабы С++ я никогда и не метил, надо просто программу ВУЗа осилить

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

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

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

Ты няша ^_^









Аноним 08/05/22 Вск 19:50:54 #634 №2352871 
>>2352816
>использую именованные конструкторы
>чтобы решить задачу, условия которой даже не озвучены
Аноним 08/05/22 Вск 19:57:49 #635 №2352877 
>>2345617 (OP)
Нафига существует поток cin в С++, если им не возможно пользоваться? Нужно сделать простейшую вещь: сбросить как-нибудь этот поток, но нет, сделать это никак нельзя! cin.ignore() работает только, если в буфере есть символ '\n', которого там может и не оказаться, например, если пользователь ещё ничего не вводил. Проверить, пуст ли он тоже нельзя. В чем смысл всего этого, если приходится пользоваться getline? Причем всегда (я не могу придумать случай, когда это было бы полезно, кроме примитивных программок). Т.е. эта хрень cin вообще ни для чего не пригодна.
Аноним 08/05/22 Вск 20:04:46 #636 №2352885 
>>2352877
Лабы делать удобно)

ну а вообще не вижу проблемы, не нужно - не пользуешься
Аноним 08/05/22 Вск 20:06:15 #637 №2352887 
>>2352877
Предложи альтернативу
Аноним 08/05/22 Вск 20:20:15 #638 №2352907 
>>2352885
>>2352887
Просто это как-то по-уродски. Есть поток, со своим буфером там, методов у него куча, оператор >> для него перегрузили создатели и т.д. Но пользоваться им нельзя, потому что при всем этом нет простейших средств для работы с ним. Т.е. все сводится к использованию getline(). Альтернатива: нормальная реализация, а не эта хрень. Зачем нужно копировать в строку с помощью getline() ? А потом из этой строки создавать stringstream. Это лишняя трата ресурсов, когда уже есть готовый поток. Да и выглядит это все неестественно.
Аноним 08/05/22 Вск 20:30:04 #639 №2352914 
>>2352907
Ты не понял, предложи альтернативу назвав имя уже существующей либо приложив полностью работающий код который решал бы описанные тобой проблемы и который работает хотя бы не многим хуже оригинала. Пока не можешь этого сделать - все твои визги не более чем ослиная моча.
Аноним 08/05/22 Вск 20:35:27 #640 №2352917 
>>2352914
ослиная моча тебе читать мешает: проблема с вводом успешно решается с помощью getline. Далее stringstream или функции работы со строками (C-style или string).
Аноним 08/05/22 Вск 20:50:50 #641 №2352924 
>>2352917
>Далее stringstream или функции работы со строками (C-style или string).
Ты не понял, я сказал "хоты бы немногим хуже оригинала".
Аноним 08/05/22 Вск 21:13:14 #642 №2352933 
>>2352924
При чем тут альтернативы и код? Недостатки есть, и они объективные. Зачем передергивать?
Аноним 09/05/22 Пнд 09:24:58 #643 №2353049 
>>2352859
>Что не так?
1) Комьюнити говно.
2) Моча говно.
3) Рейтинги.
Аноним 09/05/22 Пнд 11:03:28 #644 №2353071 
>>2353049
>Комьюнити говно
В чем это проявляется? Мне там помогали пару раз уже. До этого задавал вопросы на stackoverflow. Мне в принципе без разницы, где их задавать, отвечают везде

>Моча говно
Возможно, частое явление на пидорашьих форумах, где могут забанить даже за мат

>Рейтинги
Какие рейтинги?
Аноним 09/05/22 Пнд 13:06:07 #645 №2353135 
Поясните нубу, вот допустим я описал тип структуры MyStruct (структура держит в себе только примитивные типы, грубо говоря пару интов), далее если я например создаю локальную переменную в теле какой-то функции:
>MyStruct s = MyStruct{1,2};
Нужно ли предварительно выделять (и, соответственно, освобождать) память, например, malloc-ом?
И еще вопрос, если я например переприсвою значение этой переменной, кинув в нее новую структуру того же типа, куда денется память, которую занимала старая - значение в ней перезапишется, рантайм/ОС как-то высвободит ее или она будет болтаться где-то (грубо говоря, произойдет утечка памяти)?
Аноним 09/05/22 Пнд 13:10:29 #646 №2353138 
>>2353135
В таком виде структура создаётся тупо на стеке, и выделять/освобождать память не нужно. При присвоении перезаписывается значение. Это всё равно что работать с примитивами наподобие int или double.
Аноним 09/05/22 Пнд 13:37:32 #647 №2353155 
Принял решение об уходе из мертвого энтерпрайза в мир С++.
Какие подводные?
Аноним 09/05/22 Пнд 13:51:38 #648 №2353164 
>>2353155
Если ты джавист, то никаких подводных, будешь жрать говно как и раньше.
Аноним 09/05/22 Пнд 15:20:43 #649 №2353214 
>>2353155
Когда в Сирии или на Украине дроны крошат людей я знаю что приложил к этому клавиатуру. Приходится как-то с этим жить. Это тебе не сайтики клепать.
Аноним 09/05/22 Пнд 16:09:02 #650 №2353230 
>>2353155
>Какие подводные?
никаких
наконец то сможешь просто загружать-выгружать классы из динамически загружаемых модулей, а не городить подобия COM на структурах с указателями на функции
Аноним 09/05/22 Пнд 16:26:52 #651 №2353243 
>>2353214
Когда нейросети обнулят всех прогеров я буду знать, что лично приложил к этому руку и лично мне будет похуй.
Аноним 09/05/22 Пнд 16:34:46 #652 №2353245 
>>2352028
>С чего начать вкат в системное программирование не линупсе?
начать нужно с оценки доступных ресурсов
как минимум нужно иметь 2 квартиры: одну сдаешь, во второй живешь и 20 лет изучаешь это самое системное программирование, через это время может быть сможешь сделать что то полезное
Аноним 09/05/22 Пнд 17:11:13 #653 №2353278 
>>2353245
Ого, аж с экрана потекло.
Аноним 09/05/22 Пнд 17:33:22 #654 №2353296 
>>2353138
> В таком виде структура создаётся тупо на стеке, и выделять/освобождать память не нужно. При присвоении перезаписывается значение. Это всё равно что работать с примитивами наподобие int или double.
А если я передам в другую функцию указатель на созданную таким образом структуру? Она продолжит существование или умрет, когда завершится первая функция, в которой она (структура) была создана?
Аноним 09/05/22 Пнд 17:40:43 #655 №2353308 
>>2353296
Умрёт, когда завершится первая.
Но если создашь объект через new или malloc(), будет жить, пока не вызовешь delete/free().
Аноним 09/05/22 Пнд 17:49:41 #656 №2353321 
>>2353308
Т.е. если я хочу из функции вернуть структуру, надо вызывать new или аллоцировать память? Просто
>return MyStruct{1,2};
Делать нельзя?
Или возвращенное значение (структура) будет в стеке вызывающей функции?
Аноним 09/05/22 Пнд 17:54:08 #657 №2353327 
>>2353321
Можно, структура целиком скопируется.
Аноним 09/05/22 Пнд 19:06:43 #658 №2353398 
Чем отличается My_class x; от My_class x(); ?
Аноним 09/05/22 Пнд 19:16:12 #659 №2353409 
>>2353398
Двумя скобками в конце
Аноним 09/05/22 Пнд 19:50:20 #660 №2353459 
>>2353398
() это value initialization. дальше ищи сам.
Аноним 09/05/22 Пнд 20:11:57 #661 №2353463 
>>2353459
В данном конкретном случае () это most vexing parse.
Аноним 09/05/22 Пнд 20:19:45 #662 №2353469 
>>2353398
>My_class x();
Зачем смайлики добавил?
Аноним 09/05/22 Пнд 21:05:34 #663 №2353478 
>>2353214
Как вкатиться в дронов для военки? Что нужно знать?
Аноним 09/05/22 Пнд 21:16:57 #664 №2353479 
>>2353478
> Что нужно знать?
Как лизать очко руководству.
Аноним 09/05/22 Пнд 21:33:07 #665 №2353485 
>>2353478
>Как вкатиться в дронов для военки?
Можешь попробовать связаться с Аеророзвідкой, но пишут что там итак слишком много народу
Аноним 09/05/22 Пнд 21:34:32 #666 №2353486 
>>2353398
Первое это объявление переменной, второе функции
Аноним 09/05/22 Пнд 21:34:36 #667 №2353487 
>>2353478
>Что нужно знать?
Василия Аркадиевича, который о тебе договорился.
Аноним 10/05/22 Втр 16:38:13 #668 №2353943 
Хочу поиграться с ASCII графикой, но мне не нравится виндовый терминал - и окно убогое, и цветов 16 и отзывчивость нулевая...

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


Можно было бы и самому на opengl - но это вечная боль - вывод текста в opengl... Зачем велосипедить..
Аноним 10/05/22 Втр 16:54:44 #669 №2353951 
>>2353943
Вместо боли с выаодом текста ты получишь боль с вообще всем.
Аноним 10/05/22 Втр 21:46:18 #670 №2354163 
>>2353478
Байтодроч в обработке изображений. Всякие хитрые фильтры, LAGC например для 16 битных равок с тепловизора. Дружить с плисоводами.
Аноним 10/05/22 Втр 21:48:56 #671 №2354164 
>>2353943
Тебе нужна поддержка ANSI X3.64 and Xterm 256.
Например, в ConEmu
https://conemu.github.io/en/AnsiEscapeCodes.html
Аноним 10/05/22 Втр 22:14:26 #672 №2354173 
>>2353478
Ну как. Меня по факту брали по знакомству, но я того стою. Программирую ещё на питоне, шарпе, жопаскрипте, пишу свои дсл и компиляторы.
Аноним 10/05/22 Втр 22:43:55 #673 №2354188 
Прочитал 3 книги Мейерса, смотрю выборочно C++ weekly, уже на красном поясе, пилю 2 проекта. Но всё равно такое ощущение что я не знаю ещё овердохрена всего. Подскажите путь из такой позиции? Куда дальше раз я сам не знаю, чего я не знаю?
Аноним 11/05/22 Срд 00:23:52 #674 №2354248 
>>2354188
Работай иди.
Аноним 11/05/22 Срд 00:43:29 #675 №2354263 
>>2354248
Не хочу переезжать с сытных 150к на нищие стажёровские 20
Аноним 11/05/22 Срд 00:52:51 #676 №2354266 
>>2354263
Откуда такие фантазии?
Аноним 11/05/22 Срд 00:54:50 #677 №2354268 
>>2354266
Фантазии о чём?
Аноним 11/05/22 Срд 01:27:06 #678 №2354291 
>>2354268
Фантазии о 20ке, если МРОТ нынче ~14к.
Аноним 11/05/22 Срд 04:11:29 #679 №2354312 
Анончик, какой из стандартных контейнеров гарантирует что если я сохраню указатель на его элемент, то после удаления/вставок - это указатель все еще будет валиден
Аноним 11/05/22 Срд 04:39:38 #680 №2354314 
>>2354312
Указатель или итератор?
Аноним 11/05/22 Срд 05:12:35 #681 №2354318 
>>2354314
Указатель на объект. То есть я добавляю объект в контейнер, затем беру указатель на этот объект (не итератор), и сохраняю его в другой переменной.

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

Мне не важно время доступа к элементу или порядок их хранения в памяти (можно хоть по всей памяти)
Конечно же вставка-удаление хотелось бы за O(1), но тоже не критично.


Я думаю что возможно std::list, но не уверен
Аноним 11/05/22 Срд 08:49:26 #682 №2354359 
Аноны, go тред полумёртвый, а мне нужна помощь. Как с помощью tcp передавать данные на go сервер? Вот есть например строка, массив и целое, как их передать? Пока кроме преобразования этого всего в строку и дальнейшего парсинга на самом сервере идей нет.
Аноним 11/05/22 Срд 08:54:15 #683 №2354361 
>>2354359
Конечно нет идей, ведь это единственное возможное решение.
Аноним 11/05/22 Срд 09:46:01 #684 №2354376 
>>2354359
TCP только строки передавать может, так что это единственный правильный вариарт.
Аноним 11/05/22 Срд 10:31:51 #685 №2354398 
>>2354359
> преобразования этого всего в строку
В чём проблема байты отправлять? Или у вас байтоёбство запрещено? Строки же это пиздец как медленно.
Аноним 11/05/22 Срд 12:14:31 #686 №2354476 
>>2354359
Protobuf?
Аноним 11/05/22 Срд 12:41:47 #687 №2354501 
x+=y.mp4
Это правда??
Аноним 11/05/22 Срд 13:31:37 #688 №2354539 
>>2354501
Нет, он несет хуйню.
Аноним 11/05/22 Срд 13:50:52 #689 №2354545 
>>2354501
Полная хуйня. По спецификации эти выражения эквивалентны и не могут разный код генерировать, в обоих случаях там xvalue, никакого prvalue там нет. Вот таких чуханов, в глаза не видевших спецификацию, наслушаются, а потом пишут нечитаемый код-лапшу с багами.
Аноним 11/05/22 Срд 13:52:10 #690 №2354547 
>>2354318
Про ради интереса - что за задача такая где тебе такая херня требуется?
Аноним 11/05/22 Срд 13:54:55 #691 №2354548 
>>2354545
Он в яндексе еще работает, лол
> xvalue
Тогда может до 11 стандарта было именно так, как он говорит?
Аноним 11/05/22 Срд 14:03:35 #692 №2354554 
>>2354548
>яндексе
контора чуханов, сливающих данные пользователей
Аноним 11/05/22 Срд 14:11:02 #693 №2354559 
>>2354548
Хочешь сказать он про C++98 рассказывает? Но компилятор из 2022 года в любом случае это оптимизирует даже с О0. Хуйню пиздит в любом случае.
Аноним 11/05/22 Срд 14:11:42 #694 №2354560 
>>2354318
Тебе подойдёт list, map, unordered_map. И не подойдёт vector, array, deque.
Аноним 11/05/22 Срд 14:12:03 #695 №2354562 
>>2354545
>Полная хуйня. По спецификации эти выражения эквивалентны и не могут разный код генерировать
Че?
>>2354501
>Это правда??
Бля, а проверить самому?
https://godbolt.org/z/aWGq3GKKM
Внутри создастся еще один объект (a+b) - тут создается. *this = (a+b) -- тут скопируется
Так что да, он прав
Аноним 11/05/22 Срд 14:13:28 #696 №2354564 
>>2354559
Тот чел>>2354545 скорее всего говорит неправду.
Аноним 11/05/22 Срд 14:15:05 #697 №2354566 
>>2354562
> а проверить самому
Что за хуйню ты написал? У тебя же совсем две разные реализации, естественно они работают по разному. Переопределением ты можешь что угодно накостылять. А дэфолтные операторы так никогда не будут работать.
Аноним 11/05/22 Срд 14:17:28 #698 №2354568 
>>2354566
Ты долбоеб?
Какие дефолтные операторы, сука?
У тебя есть operator +. Ты, сын шлюхи, через него пишешь +=. Но. Оператор + возвращает не ссылку, а объект. Поэтому когда у тебя += пишется через +, то объект все равно создастся. Про это и говорит чел в видео.
Аноним 11/05/22 Срд 14:20:22 #699 №2354570 
>>2354568
Про move-семантику никогда не слышали, да? Серьёзно на C++98 пишете код? Это просто кринж. Если уж взялся писать свой оператор вместо стандартного, то пиши по человечески, а не говнокод.
Аноним 11/05/22 Срд 14:25:11 #700 №2354572 
Правда или хуйня.mp4
>>2354568
> Какие дефолтные операторы
Именно про дефолтные операторы он и говорит.
Аноним 11/05/22 Срд 14:26:30 #701 №2354575 
E0020.png
VS2.png
>>2345617 (OP)
Аноны помогите. VS сошла с ума.

Дело в том, что перестала видеть вызовы функций в CPP файле. VS выдает ошибку компиляции E0020. Хотя функция находится в том же CPP файле. До этого были глюки в ЗАГОЛОВКЕ где сигнатуры подчеркивались зеленым, но в итоге код компилировался, а теперь это зашло слишком далеко. Реквестирую помощь.
Аноним 11/05/22 Срд 14:26:47 #702 №2354577 
>>2354570
Ты долбоеб?
Причем тут move-семантика?
Ты понимаешь, что в видео чел объясняет, что нельзя писать += через +, а вот + через += можно
Допустим у тебя там мув семантика. Но ты все равно создаешь объект, а создаешь ты его через + и как же ты его, долбоеб, сделаешь через move?
Аноним 11/05/22 Срд 14:28:27 #703 №2354579 
>>2354577
двачую адеквата
Аноним 11/05/22 Срд 14:44:01 #704 №2354593 
1516072351423.png
>>2354572
Пикрилейтед. Пусть пиздует читать спецификацию, а не изобретать свой язык на ходу.
Аноним 11/05/22 Срд 14:53:34 #705 №2354602 
>>2354593
Ты не Русский? Не шаришь про контекст который он говорит. У вас с другим аноном испорченный телефон получается.
Аноним 11/05/22 Срд 15:01:53 #706 №2354612 
>>2354602
А какой контекст? Абсолютно вымышленный пример, не имеющий ничего общего с реальной реализацией этих операторов? Я тоже могу сделать из оператора сложения вычитание и говорить потом что складывать надо минусом, а не плюсом, потому что я так захотел. А факт в том что в реальном С++ эти операторы обязаны иметь одинаковое поведение, за исключением когда объект присваивания сам временный и может быть оптимизирован. Ну и как писалось выше, move и был придуман чтоб не копировать переменные лишний раз. Заканчивайте уже, сейчас зайдёт кто-нибудь из растотреда и засмеёт нахуй всех нас за копирование переменных.
Аноним 11/05/22 Срд 15:05:00 #707 №2354615 
>>2354612
Окей. Напиши.
Адекватный пример. Где += будет реализовано через +.
Аноним 11/05/22 Срд 15:12:06 #708 №2354625 
>>2354562
https://godbolt.org/z/63h164osx
А так не создастся. :)
Аноним 11/05/22 Срд 15:16:26 #709 №2354630 
>>2354625
Ты балбес?
Ты заменил один конструктор (для которого есть принт) на конструктор для которого нет принта. Типа закрыл глазки и ничего там не создается. Крутааа
Аноним 11/05/22 Срд 15:17:41 #710 №2354633 
>>2354612
>А какой контекст? Абсолютно вымышленный пример, не имеющий ничего общего с реальной реализацией этих операторов?

Вот именно. Речь про велосепидирование всего что видишь. Особый путь дегенерации.
Аноним 11/05/22 Срд 15:21:25 #711 №2354638 
>>2354612
>>2354633
Вы реально долбоебы или в чем проблема?
Какое нахуй велосепидирование? Какой нахуй контекст?
Чувак говорит, что нельзя писать += через +. Либо вы показываете пример, где вы так написали и нет лишних операций по сравнению с наивной реализацией (val1 += oth.val1; ....) либо нахуй идите
Аноним 11/05/22 Срд 15:24:29 #712 №2354645 
>>2354638
Я тебе уже ответил что препод прав. Но перед этим тебе какой-то дебыч проорал что-то. Препод прав. Тема закрыта. Вопросы?
Аноним 11/05/22 Срд 15:25:45 #713 №2354647 
>>2354645
Никаких. Ты зайка. Чмок тебя в лобик
Аноним 11/05/22 Срд 16:00:16 #714 №2354678 
>>2354630
> на конструктор для которого нет принта
Ты ёбнулся? Где ты там увидел вызов конструктора? Уноси своего долбаёба, неумеющего складывать числа.
Аноним 11/05/22 Срд 16:01:56 #715 №2354681 
>>2354678
похоже в треде швайнокарась

другой анон
Аноним 11/05/22 Срд 16:06:50 #716 №2354683 
>>2354678
https://godbolt.org/z/cbefxv684
Что с ебалом, долбоеб?
Аноним 11/05/22 Срд 16:08:14 #717 №2354685 
Я ассемблер не понимаю, не душите своим годболтом плиз((((
Аноним 11/05/22 Срд 16:28:47 #718 №2354702 
>>2354476
>>2354398
>>2354376
>>2354361
Всем спасибо, в го треде подсказали использовать json. Вроде очевидно, но я как-то не додумался.
Аноним 11/05/22 Срд 16:43:43 #719 №2354713 
learncpp или ravesli?
Аноним 11/05/22 Срд 16:51:29 #720 №2354719 
>>2354575
вопрос закрыт. я ебанулся
Аноним 11/05/22 Срд 16:55:09 #721 №2354722 
>>2354713
а ты сам пробовал второе? Мне бы видосов по OpenGL.
Аноним 11/05/22 Срд 16:55:11 #722 №2354723 
>>2354719
>VS
>я ебанулся
О, ты тоже это понял?
Аноним 11/05/22 Срд 16:56:42 #723 №2354725 
>>2354722
Пробовал, но это было давно. А так параллельно со Страуструпом читать довольно хорошо помогало в некоторых темах. Сейчас год не писал на плюсах, хочу знания освежить прежде чем камбек делать.
Аноним 11/05/22 Срд 16:57:28 #724 №2354728 
>>2354723
Если есть получше IDE то поделись. Дело было во мне. Забыл добавить Class:: перед определением фунции как лошара последний.
Аноним 11/05/22 Срд 16:59:39 #725 №2354730 
>>2354728
Всё вкусовщина, забей. Дохуя людей знаю которые в итоге тупо в вим переехали и ни о чём не жалеют.
Аноним 11/05/22 Срд 17:01:01 #726 №2354731 
>>2354728
>получше IDE
Зачем тебе иде? Сиди на редакторах.
Аноним 11/05/22 Срд 17:38:59 #727 №2354757 
>>2354728
Clion имхо получше, и ворочается быстрее. Еще нравится QtCreator, но эти пидоры забанили скачивание для России.
Аноним 11/05/22 Срд 17:56:20 #728 №2354766 
>>2354638
> показываете пример
https://godbolt.org/z/f47zzrb6d
Держи, никаких созданий объекта, никаких лишних вызовов конструктора. С -O1 там вообще одна инструкция add. Схуяли мне кто-то там будет запрещать писать += через +? В Си-тред с такой шизой идите.
Аноним 11/05/22 Срд 18:11:28 #729 №2354780 
Как в языке происходит работа с хардварью? Расскажите в общем, я вообще зелёный в этой теме. Как я понимаю, на около высоком уровне это работа с api системы, дёргание драйверов, прерываний и всего такого?
Аноним 11/05/22 Срд 18:12:18 #730 №2354784 
>>2354780
> прерываний
На MS-DOS уже никто не сидит.
Аноним 11/05/22 Срд 18:14:10 #731 №2354786 
>>2354780
>Как в языке происходит работа с хардварью?
Апишки\асминлайны если их не вырезали еще, язык не может в лоулвл взаимодействие.
Аноним 11/05/22 Срд 18:14:29 #732 №2354788 
>>2354766
Ты долбоеб. Ты просто конченный хуесос
Я в ахуе
Ты. Чтобы доказать что-то написал такой шмат говна, что любой адекватный человек захотел бы выброситься из окна
Foo& operator=(Foo&& oth) {
return oth;
}
Реально? С ебалом все хорошо? А мать живая? Оператор присваивания будет возвращать ссылку. И ничего не присваивать. Гениально нахуй
А оператор + будет тоже возвращать ссылку.
И теперь давай напишем F(a, a+b); и сходим нахуй
Потому что какой-то говноед решил что так будет правильно и никто ему ничего не запретит
Ты наглухо отбитый долбоеб. Просто нахуй иди
Ты поменял местами правильный вариант попутно разъебав всюлогику, чтобы доказать, что изначально ты не ошибся.
Признай что ты сын шлюхи и выйди в окно
Аноним 11/05/22 Срд 18:14:53 #733 №2354790 
>>2354786
>Апишки\асминлайны
Системные абстракции еще офк.
Аноним 11/05/22 Срд 18:16:26 #734 №2354791 
>>2354786
>язык не может в лоулвл взаимодействие.
Доколе?
Аноним 11/05/22 Срд 18:21:31 #735 №2354794 
>>2354788
> Реально?
Это называется move-присваивание. Ты первый день с крестами знаком?
> И теперь давай напишем
Пиши move-конструктор сначала или оборачивай в std::move так же, наркоман. Ты сам поставил ебанутую задачу, получай соответствующее решение. И нехуй тут вилять жопой, условия задачи выполнены, с другими требованиями ты следуешь нахуй.
Аноним 11/05/22 Срд 18:31:38 #736 №2354801 
>>2354794
Какое move присваивание, сын шлюхи?
Где у тебя присванивание, хуесос?
В move конструкторе идет мув членов класса. Где он у тебя, долбоеб?
>условия задачи выполнены
Охуенно.
Открой буст, сука, открой stl, открой любую нормальную либу. Попробуй найти там хоть один оператор =, который возвращает ссылку. Ты не сможешь, хуесос. А знаешь почему? Потому что так никто не делает. У тебя оператор присванивания портит объект. Напиши просто a+b; Это валидно с точки зрения синтаксиса. И это не должно изменять а. А у тебя меняет. И все потому что твоя мать плотно сидела на герыче во время беременности.
Аноним 11/05/22 Срд 18:31:50 #737 №2354802 
>>2354791
Никогда.
Аноним 11/05/22 Срд 18:33:04 #738 №2354803 
>>2354802
Это хорошо или плохо?
Аноним 11/05/22 Срд 18:37:27 #739 №2354805 
>>2354803
Ожидаемо, абстракция над машиной запрещает (не может разрешить) полное использование всех ее возможностей, из-за этого образуются абстрактные решения в языках, в виде неопределенного поведения и неуточненного поведения.
Аноним 11/05/22 Срд 18:40:28 #740 №2354809 
>>2354805
А как тогда инлайн асмр решает эту проблему если запускается всё в той же абстракции над машиной?
Аноним 11/05/22 Срд 18:41:06 #741 №2354810 
>>2354801
> move конструкторе идет мув членов класса
Дегенерат, не путай конструктор с присваиванием.
https://en.cppreference.com/w/cpp/language/move_assignment
> Ты не сможешь
Потому что никто в здравом уме не будет через переопределённое сложение переопределять +=. Это же твой ебучий говнокодер из Яндекса такую хуйню из пальца высосал.
> a+b
Долбаёб, результат этой операции - rvalue. Чтобы его куда-то впихнуть тебе надо создать move-конструктором нормальный lvalue-объект, либо сконвертировать его через std::move. Сам объект там ничего не меняет, ты впервые ссылки видишь что ли?

Аноним 11/05/22 Срд 18:44:46 #742 №2354811 
>>2354809
>инлайн асмр
Он нестандартизирован, поэтому и решает.
Аноним 11/05/22 Срд 18:54:01 #743 №2354820 
>>2354811
Сложно и звучит как какой-нибудь блекхэт.
Аноним 11/05/22 Срд 18:59:56 #744 №2354825 
>>2354810
>Дегенерат, не путай конструктор с присваиванием.
По твоей ссылке
A& operator=(A&& other)
{
s = std::move(other.s);
std::cout << "move assigned\n";
return *this;
}
У тебя где мув члена класса? Где, хуесос?
>Чтобы его куда-то впихнуть тебе надо создать move-конструктором нормальный lvalue-объект
Я просто хочу его впихнуть в твою мертвую мать
Ее на земле нет. Поэтому делаю это просто вот так https://godbolt.org/z/nfbjdGoWs
Значение a.x изменилось. ЧТО С ЕБАЛОМ, хуесос?
Аноним 11/05/22 Срд 19:12:33 #745 №2354831 
1555238726567.png
>>2354825
> По твоей ссылке
Чухан, глаза протри. Это просто второй объект перемещается в первый.
> ЧТО С ЕБАЛОМ
Нихуя ты как приложил. Только ты приложил не меня. В оригинальном коде такая же хуйня. Спроси вот у этого хуесоса что с его кодом >>2354562
https://godbolt.org/z/9b44PMf1h
Я надеюсь это не ты его писал? Будет просто орево тогда.
Аноним 11/05/22 Срд 19:21:36 #746 №2354837 
>>2354831
https://godbolt.org/z/d5drnsa4q
Окей, долбоеб. Вот тебе твое мув-присваивание. Почему а не меняется?
А мне похуй чья это ошибка? Твой охуенный код для а меняет значение. Задачу ты не выполнил. Так что твоя дорога прямо нахуй и в окно
Аноним 11/05/22 Срд 19:34:47 #747 №2354848 
>>2354837
> Почему а не меняется?
А схуяли должен? std::move принимает rvalue, идиотина. А "b" у тебя lvalue. Для копирования "b" в "а" тебе надо конструктор копирования определить:
Foo& operator=(Foo& oth) =default;
Это тебе не раст, чтоб ты мог вот так переменную переместить. Ты же понимаешь, что после того что ты пытаешься сделать b должна стать инвалидной? Ты точно кресты не первый раз видишь?
Аноним 11/05/22 Срд 19:51:45 #748 №2354859 
у меня хуй воняет
Аноним 11/05/22 Срд 20:50:51 #749 №2354903 
Как создать конструктор с несколькими обязательными параметрами и несколькими необязательными? И как можно проверить на то, инициализировано ли поле класса.
Аноним 11/05/22 Срд 21:17:54 #750 №2354920 
изображение.png
Какую красоту делает С++20 госпаде, шаблоны функций не нужны.
Аноним 11/05/22 Срд 21:28:49 #751 №2354924 
>>2354920
А потом жмёшь на компиляцию и тебе высерает что не может определить тип где-то в кишках STL. И начинаешь перебирать этот кал в поисках что не так.
Аноним 11/05/22 Срд 21:43:58 #752 №2354927 
>>2354920
#define summ(a, b) a + b
#define print(text) std::cout << text << '\n'
Аноним 11/05/22 Срд 21:48:18 #753 №2354929 
изображение.png
Хотел ссылки поставить для эффективности, он мне хуйню пишет.

>>2354927
Макросы для быдла и сишников.
Аноним 11/05/22 Срд 21:51:07 #754 №2354932 
изображение.png
Ну конечно, ссылки константные. теперь все работает.
Аноним 11/05/22 Срд 21:51:12 #755 №2354933 
>>2354929
Хуя дэбил
Аноним 11/05/22 Срд 22:37:48 #756 №2354944 
>>2354924
Концепты перед auto

>>2354929
>Макросы для быдла и сишников.
>>2354933
>Хуя дэбил
Чел прав объективно, любое юзание макросов кроме как для разн версий платформ - хуйня

>>2354903
struct a { a(int p1, int p2 = 42){} };
Поля инициализированы все после конструктора. Если нужно именно рациональное, а не дефолтн значение - std::optional, так и поля сделать можно "неинициализированными" и проверять с помощью has_value()

>>2354848
move принимает не rvalue

>>2354766
>https://godbolt.org/z/f47zzrb6d
ну и здец, noop присваивание, мутирующий +
Аноним 11/05/22 Срд 22:39:01 #757 №2354945 
Дайте советов как изначально писать высокопроизводительный код. Ну конечно же кроме "делать всё конст" да "ссылки принимать".
Аноним 11/05/22 Срд 22:51:47 #758 №2354948 
>>2354945
Избегать лишних выделений памяти, копирования (юзать move, передавать по ссылке), меньше индирекции (доступ нанапрямую, а не через цепь указателей), нормальное выравнивание (? вроде же можно делать упакованные структуры, с битами итп, хз в спп или ток си, это сто проц медленней обычн представления), максимально переносить вычисления на компайл тайм (вместо рантаймы, т.е. constexpr например), комптайм полиморфизм > рантаймового, оптимизировать на локальность доступов к памяти (например юзать массив (последовательный кусок памяти) вместо связных списков), ! использовать алгоритмы и структуры данных под задачи, включать оптимизации, fast-math, избегать простоя (типо ожидание ввода, решение - корутины), распараллеливать прогу, юзать статическую линковку вместо динамической, gpgpu, понимать оптимизации компилятора и как не мешать ему...
Аноним 12/05/22 Чтв 00:31:18 #759 №2354992 
>>2354848
Я немного в ахуе
Ты же сам долбоеб скинул ссылку на move-assing (https://en.cppreference.com/w/cpp/language/move_assignment)
Давай, даун, возьмем код оттуда. Уберем (как у тебя) конструкторы. И оставим только operator=.
И смотри
https://godbolt.org/z/683sqxcqb
Магия. Магия!!!!
Бездарный долбоеб
Ты даже не можешь глянуть что находится в ссылке, которую ты, хуесос, сам и постишь
Аноним 12/05/22 Чтв 02:55:16 #760 №2355008 
>>2354547
ну типа такого

struct ResourceDataRef
{
ResourceData* ptr;
};

struct ResourceMgr
{
ResourceDataRef Add();

std::list<ResourceData> data;
};
Аноним 12/05/22 Чтв 03:22:45 #761 №2355010 
image.png
>>2354501
Да

>>2354539
>>2354545
>>2354554
Ебать сколько говнокодеров, которые не могут даже проверить
https://godbolt.org/z/3TWe8x5T4



>>2354566
>>2354572
> дэфолтные операторы так никогда не будут работать.
Он блядь не говорит про дефолтные. Он говорит что нельзя писать this = this + value; при чем тут блядь дефолтные?
Он говорит про перегрузку
Аноним 12/05/22 Чтв 03:26:25 #762 №2355012 
>>2354570
>Про move-семантику никогда не слышали, да?
Сука, при чем тут move семантика? Просто есть дауны которые пишут в перегрузке операторв:
return this = this OP value;

Тут никакая move сементика не спасет от лишнего присваивания и лишнего вызова перегрузки оператора. Смотри мой код >>2355010

Конечно компилятор может подумать что ты даун и убрать... А может и не убрать.
Аноним 12/05/22 Чтв 03:43:18 #763 №2355015 
image.png
image.png
>>2354766
Бля... какие же вы долбоебы... Я ебу, и такие вот пишут код?
Да вы даже интерфейс godbolt не осили.

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

>>2354766
>там вообще одна инструкция add
Какая нахуй одна, если там вызов конструктора копирования?

Эта перегрузка в принципе не должна вызывать никаких конструкторов.
Аноним 12/05/22 Чтв 08:09:19 #764 №2355057 
1604696670502.png
>>2355015
Ты траллишь тупостью что ли, почему на скринах какой-то левый код? Нахуя ты написал другой код и сам с собой споришь, дебил? Я тебе даже картинку нарисовал, тупая ты хуесосина.
Аноним 12/05/22 Чтв 12:10:47 #765 №2355168 
Помогитепж, не программист вообще, так что не смейтесь
в магазине имеется ассортимент из n флешек. о каждой флешке заданы сведения:название, объëм памяти, цена. напишите функцию, которая возвращает название и цену самой дешевой флешки
Аноним 12/05/22 Чтв 12:12:56 #766 №2355169 
>>2355168
Это в универе такое задание дали на плюсах??
Аноним 12/05/22 Чтв 12:17:16 #767 №2355174 
>>2355169
Да, мы ебланы, вы правы
Аноним 12/05/22 Чтв 12:23:06 #768 №2355181 
>>2355174
Ну создай объект флешка. Создай ему геттеры, которые возвращают его цену и название. Создай вектор флешек, заполни его. Напиши функцию, которая принимает ссылку на вектор, перебирает его и возвращает новый объект флешка (очевидно, потому что два значения возвращать в плюсах нельзя.)
Аноним 12/05/22 Чтв 13:03:43 #769 №2355207 
>>2355168
Шлёшь условие нахуй и маппишь цены с названиями, профит.
Аноним 12/05/22 Чтв 17:29:05 #770 №2355310 
Аноны, как бороться с "error LNK2001: unresolved external symbol" для моего же кода? Один класс внезапно перестал линковаться. Если копипастом переношу код из .cpp в .h и вставляю после объявления класса, то всё работает, с кодом в .cpp — нет. При этом при компиляции в консоли я вижу что он компилирует этот .cpp, но один хуй выдаёт ошибку линковки. Сама IDE никаких ошибок не показывает и видит код в .cpp. Что он хочет от меня? Как понять что не так?
Аноним 12/05/22 Чтв 19:55:35 #771 №2355376 
1533458972654.mp4
Подскажите плиз. Мне нужен контейнер, чтобы можно было по key брать value, но в то же время чтобы этот контейнер можно было отсортировать по value.
Сначала я стал использовать QMap<QString, MyStruct>, но оказалось, что он сортирует только по key и только по алфавитному порядку, что мне не подходит. Потом попробовал QVector<QPair<QString, MyStruct>>, но из него брать содержимое геморно, приходится перебирать весь вектор, хотя его вроде отсортировать можно.
Что делать? Существуют ли вообще такой контейнер типа QMap, но который можно отсортировать по value?
Аноним 12/05/22 Чтв 20:31:53 #772 №2355390 
>>2355376
> Q
Мы не понимаем на петушином. Попробуй использовать что-то, где нет этой буквы в названии.
Аноним 12/05/22 Чтв 20:34:23 #773 №2355392 
>>2355390
Поймёшь, если вместо Q будет Z?
Аноним 12/05/22 Чтв 20:39:42 #774 №2355399 
>>2355390
Электроноговну неприятно
Аноним 12/05/22 Чтв 20:39:45 #775 №2355400 
>>2355392
Хотя бы три буквы std должны быть там. Если не такой как все, то boost.
Аноним 12/05/22 Чтв 20:44:21 #776 №2355403 
>>2355399
Даже элетрон лучше того кала, xml + стили — очень хорошее решение для быстрого и красивого интерфейса, а для производительности wasm есть. Qt — просто самая отвратительная либа для крестов, изобретающая велосипед везде, куда смогла дотянуться.
Аноним 12/05/22 Чтв 21:03:34 #777 №2355418 
>>2355403
Давай своё экспертное мнение насчёт QML
Аноним 12/05/22 Чтв 21:07:55 #778 №2355420 
>>2355390
Ну подставь вместо "Q" "std::". Та же хуйня, тот же вопрос. Как сделать то? Я пробовал гуглить, там кроме вектора с парой внутри ничего не предлагают. А мне че то не хочется такую конструкцию юзать, как то уродливо выглядит.
Аноним 12/05/22 Чтв 21:11:41 #779 №2355423 
>>2355376
https://en.cppreference.com/w/cpp/container/map
третий шаблонный параметр - компаратор
передай в него лямбду которая нужным образом сравнивает объекты
Аноним 12/05/22 Чтв 21:38:37 #780 №2355434 
>>2355423
Я пробовал, не получилось. Ругается, что не определен operator-. Пока не разобрался, хули ему сдался этот минус.
И я вообще не уверен, что мапа отсортируется по value. Мне кажется, этот компаратор подействует только на сортировку по key. Ну то есть map он итак по дефолту сортируется по key, просто ты дефолтный компаратор заменяешь своим.
Аноним 12/05/22 Чтв 21:42:30 #781 №2355436 
>>2355403
Т.е. на петушином ты всё-таки понимаешь?
Аноним 12/05/22 Чтв 22:05:29 #782 №2355461 
>>2355376
Boost multiindex
Аноним 12/05/22 Чтв 22:45:00 #783 №2355476 
>>2355376
если ты помнишь теорию реляционных баз данных что в вузике учил, то поймешь что для решения этой задачи нужно сделать 2 структуры поиска, если бы это была табличка в субд то ты навесил бы на ее 2 индекса, главный и вторичный
ну а как сделать похожее на крестах для структуры в оперативной памяти, сам уже сообразишь, надеюсь
Аноним 12/05/22 Чтв 22:49:34 #784 №2355477 
>>2355461
скорее ему надо boost.bimap
а вручную это обычно делалось через 2 мапы: std::map<X,Y> и a std::map<Y,X>
Аноним 12/05/22 Чтв 22:53:06 #785 №2355479 
>>2355476
> в вузике учил
Чё бля?
> 2 структуры поиска, если бы это была табличка в субд то ты навесил бы на ее 2 индекса, главный и вторичный
Это чё такое-то вообще?
Аноним 12/05/22 Чтв 23:06:41 #786 №2355488 
>>2355477
А как эти две мапы синхронизировать?
Аноним 13/05/22 Птн 07:19:03 #787 №2355561 
>>2355057
потому что ты долбоеб, внимательно посмотри на operator+() - тебя за такое в продакшене кастрируют. Потому что этот оператор должен быть константным. Нахуя ты модифициуешь сам класс в нем?
То есть ты в принципе всю логику написал неправильно (попробуй написать Foo c = a + b и посмотри что будет в a.

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

И все это ради того чтобы не писать правильно operator+=().

Повторю, если писать operator+=() правильно, то никакие move не нужны, там в принципе нет никакого выделения памяти. И не должно ничего выделяться.

Память выделяется, если ты шизоуебан, пишешь this=this+value. И вот это уебанское решение ты подпер своим костылем move.
Аноним 13/05/22 Птн 07:43:37 #788 №2355563 
>>2355561
Соси хуй, дегрод. Я не менял поведение оригинального кода, на этом вопрос закрыт. И не должен был, задача была оптимизировать создание временного объекта - это сделано.
> если писать operator+=() правильно
Спроси у того питуха из Яндекса почему он решил не писать его правильно, а переопределять через переопределённый operator+. До меня-то ты нахуй доебался, шакал? Естественно со стандартным operator+ это всё пишется без костылей и временных объектов.
> Память выделяется, если ты шизоуебан, пишешь this=this+value.
Уебан, она выделяется при возврате результата этого выражения из метода, а не от наличия этого выражения. У тебя rvalue кастуется в lvalue через вызов конструктора, мудила. Если ты сам пишешь некорректный код с созданием временного объекта вместо явного запрета делать это, то это проблемы твоего говнокода.
Аноним 13/05/22 Птн 08:34:13 #789 №2355568 
>>2355563
>Спроси у того питуха из Яндекса почему он решил не писать его правильно, а переопределять через переопределённый operator+.
Ты долбоеб? Он говорит, что так делать не стоит именно из-за создания объекта
operator+ можем быть определен через +=
Но += не можем быть определено через operator+
И объясняет почему. Конец блять. Вы из какого-то видоса для школьников/студентов развели пиздец какой срач. Причем в видосе все и объяснено
Аноним 13/05/22 Птн 08:39:08 #790 №2355571 
Ебать тут у вас забористая шиза, давно я так не проигрывал.

>>2355563
Чел, ну хватит уже троллить двачь. Если бы ты и правда был таким дегенератом как пытаешься показать, то не смог бы капчу ввести.

>rvalue кастуется в lvalue через вызов конструктора
тут перетолстил уже
Аноним 13/05/22 Птн 15:31:46 #791 №2355768 
Пара тупых вопросгв по asio.
1) Я правильно понял, что при смерти сокета другой компьютер не узнает о том, что сессия всё и будет по таймауту отрубаться?
2) Если я сделаю connect к тому же ip/порту к которому уже подключился, то мне вернётся копия сокета? И теперь если я буду писать парллельно в них, то данняе перемешаются?
Аноним 13/05/22 Птн 15:46:06 #792 №2355779 
Какие же плюсы пиздатые, господи...
Аноним 13/05/22 Птн 15:48:43 #793 №2355783 
>>2355768
А вообще мне нужно отправлять пакеты, но с подтверждением доставки. Если подскажете как это правильно делать, то буду рад
Аноним 13/05/22 Птн 15:57:21 #794 №2355784 
>>2355783
>А вообще мне нужно отправлять пакеты, но с подтверждением доставки
- Клиент: Привет!
- Сервер: Привет!
- Клиент: Вот тебе данные: "КАКОЙ-ТО БОЛЬШОЙ КУСОК ДАННЫХ", а вот их хэш: 0x12345678.
- Сервер: Принял данные, а вот их хэш: 0x12345678.
...
- Клиент: Пока!
Аноним 13/05/22 Птн 16:03:07 #795 №2355790 
>>2355784
Т говоришь юзать udp? Но там же 100500 нюансов. Я заебусь писать это всё так, чтобы оно везде хорошо и быстро работало. А еще файлы через udp одним паке ом не отправить
Аноним 13/05/22 Птн 16:05:44 #796 №2355795 
>>2355790
Это тсп.
Аноним 13/05/22 Птн 16:09:29 #797 №2355797 
>>2355795
Ну тогда у меня остаются те же вопросы. Как одновременная отправка нескольких пакетов одному компьютеру будет происходить? Оно вообще будет работать?
Аноним 13/05/22 Птн 16:11:23 #798 №2355799 
>>2355797
>Как одновременная отправка нескольких пакетов одному компьютеру будет происходить?
Очередь произойдет.
>Оно вообще будет работать?
Работает же.
Аноним 13/05/22 Птн 16:24:39 #799 №2355812 
изображение.png
Но при этом пик (кстати для write такого условия нет). То есть если один пакет уже отправляется, я хочу отправить второй, подключаюсь, от сервер у себя создает уже другой поток из которого я могу читать независимо от первого?
Аноним 13/05/22 Птн 16:26:49 #800 №2355817 
изображение.png
>>2355812
А для async read some такого условия тоже нет. Хммммм.
Аноним 13/05/22 Птн 16:28:53 #801 №2355820 
>>2355817
И даже если считать, что пока выполняется один read второй ждет, всё равно им нужно иметь разные потоки, чтобы порядок был сохранён и каждый считал своё
Аноним 13/05/22 Птн 18:03:56 #802 №2355888 
Как наиболее эффективно удалить n байт из определённого места в бинарном файле и после сдвинуть весь контент идущий после него на позицию начала удалённого куска?
Аноним 13/05/22 Птн 18:38:26 #803 №2355902 
>>2355888
Перезаписывая партиями байт, размер партии к сожалению подбирается только экспериментально, слишком много нюансов.
Аноним 13/05/22 Птн 18:43:45 #804 №2355906 
изображение.png
изображение.png
изображение.png
К блокировке ютубчика готов.
Аноним 13/05/22 Птн 18:45:33 #805 №2355909 
>>2355902
Блоки по 512 байт, это я тар архиватор пишу. Просто думаю как сделать удаление файлов максимально оптимальным.
Аноним 13/05/22 Птн 18:50:07 #806 №2355912 
>>2355906
Умница, теперь начинай готовиться к блокировке интернета и выкачивай СО. После можешь перфокарты начать скупать.
Аноним 13/05/22 Птн 18:51:14 #807 №2355914 
изображение.png
>>2355912
> начинай готовиться к блокировке интернета
Уже в процессе
Аноним 13/05/22 Птн 18:59:45 #808 №2355923 
>>2355461
>>2355477
Короче проблема решилась гораздо проще. Просто поменял местами key и value в QMap, получился QMap<MyStruct, QString> который и отсортировался автоматом по MyStruct. А уже из QMap можно брать и по key(value) и по value(key), как угодно.
Аноним 13/05/22 Птн 19:00:09 #809 №2355924 
>>2355914
Ты дебил?
Аноним 13/05/22 Птн 19:01:33 #810 №2355925 
>>2355923
А зачем QMap, если есть std::map
Аноним 13/05/22 Птн 19:01:49 #811 №2355926 
>>2355924
Нет, а что?
Аноним 13/05/22 Птн 19:03:46 #812 №2355930 
>>2355926
А нахуя тебе весь этот шлак когда в лучшем случае работать будет только I2P?
Аноним 13/05/22 Птн 19:06:56 #813 №2355934 
>>2355930
> в лучшем случае
Ты сам ответил, есть лучшие случае, есть худшие, есть средние, алгоритмы не учил чтоле?
Аноним 13/05/22 Птн 19:08:21 #814 №2355935 
>>2355934
Я то учил, а вот у тебя с логикой проблемы конкретные.
Аноним 13/05/22 Птн 19:13:04 #815 №2355938 
>>2355925
А из std::map можно брать key по value?
Аноним 13/05/22 Птн 19:21:16 #816 №2355940 
>>2355906
Лучше бы порево с конями качал.
Аноним 13/05/22 Птн 19:22:07 #817 №2355941 
>>2355940
Лучше бы Метро-2033 переигрывал/читывал.
Аноним 13/05/22 Птн 19:23:35 #818 №2355942 
>>2355941
Сейм, но книги по ведьмаку.
Аноним 13/05/22 Птн 19:24:33 #819 №2355943 
изображение.png
>>2355940
Аноним 13/05/22 Птн 19:24:46 #820 №2355944 
>>2355942
Сразу к респауну приготовился? Тоже неплохо, молодец.
Аноним 13/05/22 Птн 21:28:35 #821 №2356011 
Если прога довольно хорошо нагружает процессор (поток) то в какую сторону прежде всего смотреть? Математики особой не происходит, итерируюсь рекурсивно по директориям, читаю контент некоторых файлов.
Аноним 13/05/22 Птн 23:14:48 #822 №2356038 
directory_iterator всегда начинает обход со скрытых файлов или как-нибудь ещё бежит? (те что в линупсе с точки начинаются, ну).
Аноним 14/05/22 Суб 00:06:12 #823 №2356059 
>>2356038
Нет.
Аноним 14/05/22 Суб 00:08:24 #824 №2356060 
>>2356011
Рекурсия и циклы потребляют все время, которое им дают.
Аноним 14/05/22 Суб 00:37:02 #825 №2356071 
>>2356060
Или которое для них не ограничивают?
Аноним 14/05/22 Суб 01:15:00 #826 №2356079 
>>2356071
1) Как ты собрался это делать?
2) Зачем это делать?
Аноним 14/05/22 Суб 01:23:47 #827 №2356081 
>>2356079
Я не хочу ничего ограничивать. Я пытаюсь понять проебался ли я где-нибудь в коде или нет.
Аноним 14/05/22 Суб 01:28:35 #828 №2356082 
>>2356081
Посмотри на файловые менеджеры и менеджеры процессов, посмотри сколько они потребляют ресурсов, посмотри сколько потребляет твоя программа, если больше и логика обработки данных небольшая, то ты проебался. Если программа однопоточная, то забей на потребление времени.
Аноним 14/05/22 Суб 11:35:00 #829 №2356182 
Есть ли способы выйти из множества вложенных циклов быстро, кроме как использовать goto?
Может есть способ выйти из функции при этом сразу зайти в другую при выходе.
А то заебало флаги городить и проверять.
И я не пойму что такое callback функция
Аноним 14/05/22 Суб 12:10:38 #830 №2356190 
>>2356182
Вынести множество вложенных циклов в отдельную функцию и делать return?
Аноним 14/05/22 Суб 12:44:28 #831 №2356205 
image.png
>>2345617 (OP)
Доброго дня, аноны! Я в проге новенький, поясните, можно ли так делать? Из функции снова вызывать эту же функцию снова. А то goto - это очень дурной тон, насколько я знаю, но иных вариантов прекращения выполнения функции (или передачи управления предыдущей функции) в центре кода я не знаю.
Аноним 14/05/22 Суб 12:51:29 #832 №2356206 
>>2356205
>Из функции снова вызывать эту же функцию снова.
Рекурсия.
>А то goto
Лучше готу, чем рекурсия.
Аноним 14/05/22 Суб 12:57:18 #833 №2356208 
>>2356206
Касательно рекурсии такой вопрос: если я 10 раз введу данные неправильно и 10 раз вызову функцию саму из себя - чем это чревато? Жор памяти?
Аноним 14/05/22 Суб 12:58:36 #834 №2356209 
И почему рекурсия хуже, чем goto? Я сколько не сталкивался с описанием гото - будь-то комментариями в интернетах или словами преподов - его все рекомендуют избегать.
Аноним 14/05/22 Суб 13:03:56 #835 №2356211 
>>2356208
Да, жор памяти, сделай цикл и булеву переменную о том что данные не правильно введены.
Когда ты вызвал функцию считывающюю и проверяющую правильность данных она должна эту булеву переменную пометить, типо если правильно, то тру, а если не правильно то фолс. Патом когда программа из функции выходит, то цикл проверяет булеву переменную, если она тру то выходит из цикла, а если фолсе то опять функцию вызывает. Ну или сделай что бы функция не флажок меняла, а возвращала значение true или false, в результат от правильности или не правильности ввода данных. И помести в while(!имя_функции());
Аноним 14/05/22 Суб 13:10:27 #836 №2356213 
>>2356211
Спасибо, пойду мозговать.
Аноним 14/05/22 Суб 13:16:33 #837 №2356215 
>>2355906
Создай раздачу пожалуйства. Много интересного.

Препод сказал что Concurrency in Action это не оч.
Аноним 14/05/22 Суб 15:24:01 #838 №2356276 
>>2356211
А если я сделаю функцию типа Int, по центру кода сделаю проверку условия, и при выполнении этого условия буду вызывать return xxx - правильно я понимаю, что return завершает выполнение этой функции, и сколько там кода дальше написано - не важно?
Аноним 14/05/22 Суб 16:09:17 #839 №2356291 
Что за ssize_t? Я либу какую то в qt юзал, всё нормально собиралось. Перенес на винду в visual studio и qt tools и теперь ошибка ssize_t неизвестный идентификатор
Аноним 14/05/22 Суб 16:37:35 #840 №2356299 
изображение.png
Как он нашел 17, если ее у меня нет, а только 20?
Аноним 14/05/22 Суб 16:38:24 #841 №2356301 
>>2356291
<sys/types.h>
Аноним 14/05/22 Суб 16:39:51 #842 №2356302 
>>2356299
Как же хочется pip install и всё. Было бы расширение норамльное для vs, так нет. Только для 17 и 19 версии
Аноним 14/05/22 Суб 16:40:13 #843 №2356303 
>>2356302
Или как на linux
Аноним 14/05/22 Суб 16:49:02 #844 №2356305 
>>2356299
Используй vcpkg.
Аноним 14/05/22 Суб 17:12:33 #845 №2356309 
>>2356301
Не помогло. Ничего из #include <sys/types.h>
#include <stdint.h>
#include <stdio.h>
Аноним 14/05/22 Суб 17:17:46 #846 №2356313 
>>2356309
Есть только SSIZE_T. Сделаю define, потом разберусь
Аноним 14/05/22 Суб 17:18:29 #847 №2356314 
>>2356305
Спасибо
Аноним 14/05/22 Суб 17:18:46 #848 №2356315 
>>2356313
А нет, не сделаю. SSIZE_T это не тип
Аноним 14/05/22 Суб 17:19:15 #849 №2356316 
>>2356309
Вообще это нестандартный тип, из posix, он может как быть, так и не быть.
Аноним 14/05/22 Суб 17:20:56 #850 №2356317 
>>2356315
Попробуй typedef long ssize_t;
Аноним 14/05/22 Суб 17:22:18 #851 №2356318 
>>2356317
Ты на Си пишешь? Есть же using.
Аноним 14/05/22 Суб 17:38:11 #852 №2356330 
>>2356318
Никакой разницы, только сахарный диабет быстрее наступит.
Аноним 14/05/22 Суб 17:52:59 #853 №2356339 
>>2356330
Про using даже Мейерс писал, маня.
Аноним 14/05/22 Суб 18:06:49 #854 №2356349 
>>2356317
Спасибо
Аноним 14/05/22 Суб 18:07:10 #855 №2356350 
>>2355820
Бамп
Аноним 14/05/22 Суб 19:33:38 #856 №2356414 
>>2354593
Чел, так там и написано что он говорит, буквально слово в слово. Пиздуй учить английский, лол.
Аноним 14/05/22 Суб 19:46:44 #857 №2356425 
>>2356414
> на видосе говорит "не эквивалентные выражения"
> в спецификации "expression is equivalent"
Действительно, слово в слово.
Аноним 14/05/22 Суб 20:21:16 #858 №2356446 
У меня есть много функций и методов, принимающих структуру из двух флоатов (vector2f), есть ли смысл передавать их через ссылку, или лучше во всех случаях передавать по значению? Собираю проект под 32 онли
Аноним 14/05/22 Суб 21:03:00 #859 №2356473 
>>2356425
Чел, не включай дурку, хуй на видео говорит о том что в одном случае E1 эвалюируется единожды, в другом - дважды (без оптимизаций).
Аноним 14/05/22 Суб 21:09:27 #860 №2356474 
>>2356446
Всегда по значению, всё в кешлайне бесплатное. Но могут быть варианты в зависимости от того откуда ты эту структуру взял, может быть эффективнее переместить её в метод.
Аноним 14/05/22 Суб 21:10:14 #861 №2356476 
>>2356473
По второму кругу пойдём, да? Одного раза не хватило обоссать?
Аноним 14/05/22 Суб 21:35:25 #862 №2356489 
>>2356476
Зависит от твоей емкости и готовности принимать еще и еще.
Аноним 14/05/22 Суб 23:11:04 #863 №2356559 
Пизда, я чуть не умер. Пойду дальше про паттерны читать, а то так сложно получилось, шо пиздец просто. И мне кажется, что я все таки многовато инфы кеширую.
https://pastebin.com/8t47Pw3k
https://pastebin.com/KRdzbPfk
https://pastebin.com/AB6G10H9
https://pastebin.com/DDjKwF4N
Аноним 14/05/22 Суб 23:43:02 #864 №2356580 
>>2356559
>pastebin
Боишься спалить свой гитхаб со своей омежной аватаркой омежки?
Аноним 14/05/22 Суб 23:47:44 #865 №2356585 
>>2356559
Ну и пиздец же. Алсо, советую переменные называть одной буквой, тогда вообще никто нихуя не поймёт в этой лапше ифов.
Аноним 15/05/22 Вск 00:00:54 #866 №2356598 
>>2356559
На гитхаб закинь, глаза вытекают же.
Аноним 15/05/22 Вск 00:11:02 #867 №2356604 
>>2356580
Сыш, ты бы меня, гигачеда, вживую увидел, у тебя бы голос задрожжал, а твоя тян сама попросилась бы ко мне в Москвич.
>>2356585
Если ты про test.cc, то это чисто для проверки работоспособности бэкенд части, я еще нормальную программулину на ncurses планирую сделать. Или ты про лесенки в archive.cc без фигурных скобок? Алсо, главной проблемой считаю наличие лютого хардкода с отрицательными оффсетами, в нескольких методах сразу. Это надо как-то капсулировать. Ну и в принципе sync-методы у меня разраслилсь маленько, надо рефакторить. Алсо, я забыл почистить deletedFolders после синка.
>>2356598
Закину как-нибудь.
Аноним 15/05/22 Вск 00:13:20 #868 №2356608 
>>2356604
Ошибаешься. Что я, что моя несуществующая тян класть на тебя хотели.
Аноним 15/05/22 Вск 11:03:34 #869 №2356773 
Тут кто-нибудь пользуется модулями? Как сделать чтоб инклюды из интерфесного файла можно было использовать в .cpp? Я пока только два варианта вижу - дублировать инклюды в .cpp или писать весь код в интерфейсе .ixx.
Аноним 15/05/22 Вск 11:49:49 #870 №2356793 
Какой канон обмена информаций между очень разными классами? Например сервер должен считать с сокета и вывести в форму. У меня обработчик сервера это класс. Мне в него как то передавать указатель на функцию формочки которая выведет сообщение? Заморочно как то
Аноним 15/05/22 Вск 12:00:38 #871 №2356800 
1) Можно ли перенести расширение с одного VS2019 на такой же другой, например не могу теперь найти расширение viasfora на другом ПК в той же VS2019 2) Почему оно исчезло 3) Есть ли ему замена, оно раскрашивает в разный цвет скобки например и легко заметить ошибки
Аноним 15/05/22 Вск 13:12:49 #872 №2356820 
>>2356800
https://github.com/tomasr/viasfora/releases
Аноним 15/05/22 Вск 14:40:32 #873 №2356851 
Почему я слышу как язык С используется в высоконагруженных серверных приложениях или ядрах систем. Какие в нем инструменты, которых нет в С++ или даже в С#?
Аноним 15/05/22 Вск 15:06:47 #874 №2356863 
>>2356851
>Какие в нем инструменты
Толсто.
Аноним 15/05/22 Вск 15:20:19 #875 №2356865 
Посоветуйте примеры кода хорошие (желательно не огромные в которых несколько дней разбираться) с сложной архитектурой. Я закопался сильно очень и не знаю как правильно написать сложный код, как всё разделять и склеивать там, где это необходимо. Вот мне надо написать простую на словах штуку: синхронизацию с помощью паксоса файлов на диске. Тут нужно и с сетью работать, и паксос в отдельную сущность вынести, и структуру файлов поддерживать, понимать что когда надо засинькать. При этом паксос должен иметь взаимодействовать с синхронизируемым значением, значит полностью независимым его не сделать.
Аноним 15/05/22 Вск 16:07:01 #876 №2356884 
1643774368792.png
Это это за говно? Ошибка откуда-то из std::wstring. И как этот кал фиксить?
Аноним 15/05/22 Вск 16:17:10 #877 №2356886 
>>2356884
В интернете искать пробовал?
Аноним 15/05/22 Вск 16:22:35 #878 №2356888 
>>2356886
Да. Но я уже пофиксил - удалил проблемный, создал новый файл с таким же именем, скопипастил содержимое старого и оно собралось. Что за параша?
Аноним 15/05/22 Вск 16:36:52 #879 №2356891 
>>2356888
Ну например символы кириллицы в названии - с вместо c.
Аноним 15/05/22 Вск 16:59:39 #880 №2356899 
>>2356598
https://github.com/VimDefecator/archiver/
Аноним 15/05/22 Вск 17:10:29 #881 №2356906 
>>2356899
Формат файла лучше описать таблицей, текст долго воспринимается. Формат файла говно.
Аноним 15/05/22 Вск 17:11:01 #882 №2356907 
>>2356906
>Формат файла говно.
Формат файла говно.
фикс
Аноним 15/05/22 Вск 17:17:29 #883 №2356911 
>>2356899
>using namespace std;
как детектор
Аноним 15/05/22 Вск 17:23:55 #884 №2356915 
>>2356907
В чем фикс заключается?
>>2356911
Ой бля, мне эти std::tri(std::chetire(std::ja), std::pidoras) на работе хватает, дай пообщаться с любимой STL-ечкой на ты. Спасибо, что напомнил, кста. Я там в паре мест по привычке написал std::string. ПОЙДУ-КА ИСПРАВЛЮ И УБЕРУ ЭТОТ НАХУЙ НЕНУЖНЫЙ ПРЕФИКС ВО ВСЕХ МЕСТАХ, ДО КОТОРЫХ ДОТЯНУСЬ. И ШО ТЫ МНЕ ТЕПЕРЬ СДЕЛАЕШЬ? А??? А???????
Аноним 15/05/22 Вск 17:28:09 #885 №2356917 
>>2356906
Вообще, я думал забить хуй и тупо хранить список пасов со слешами в конце, и тупо строить по ним рантайм-дерево, чтоб в таком же виде отсериализовать обратно. Но это я сейчас все дерево кеширую, а идея в том, чтоб обмазаться паттернами и усовершенствовать это все в будущем, чтоб как-то кусками подгружалось. Максимально жадно. Хотя, можно просто сплошных буферов со своими кастомными вьюхами наделать, уже экономнее выйдет, чем все эти векторы со стрингами.
Аноним 15/05/22 Вск 17:30:05 #886 №2356918 
>>2356899
Это вообще уровень джуна или не дотягивает? Мне бы было стыдно за такой код.
Аноним 15/05/22 Вск 17:31:43 #887 №2356919 
>>2356918
Каковы твои SUGGESTION?
Аноним 15/05/22 Вск 17:32:29 #888 №2356920 
>>2356915
>В чем фикс заключается?
В спойлере.
>>2356917
У тебя неопределенный порядок байт, неопределенная кодировка имен файлов, избыточное потребление памяти на формате и т. д.. Для лабы подойдет, для реального кода нет.
Аноним 15/05/22 Вск 17:38:58 #889 №2356925 
>>2356920
>В спойлере.
Пиздец, охуенно пофиксил, прям сразу эффект появился.
>неопределенный порядок байт
Вообще-то, fileutils.hh как раз конвертирует endianness.
>неопределенная кодировка имен файлов
Похуй, главное чтоб нуль-терминатор был. Остальное - забота фронтенда. По той же причине я не проверяю на дубликаты имен, потому что archive.hh и поиск по имени не предлагает, а лишь дает итерироваться. Хочешь одноименными файлами и папками срать на одном уровне - сам менеджи как хочешь.
>избыточное потребление памяти на формате
Это да, особенно в моем примере. Я решил на абсолютных оффсетах в сегмент данных не экономить, чтоб хоть терабайт паковать, но можно какой-то бит придумать, чтоб оно кондишенали работало. Это все еще пересмотрю.
Аноним 15/05/22 Вск 17:39:55 #890 №2356926 
1558109323842.png
>>2356919
Да там с первой строчки говно какое-то. Нахуя static и лишняя нелинейность кода? Зачем constexpr, если оно никогда не выполняется во время компиляции? Буквально каждую строчку надо переписывать, не говоря уже про то что написано как будто сишником.
Аноним 15/05/22 Вск 17:43:49 #891 №2356928 
>>2356926
>Зачем constexpr, если оно никогда не выполняется во время компиляции?
Я там в одном месте numFolders=0 передаю.
>не говоря уже про то что написано как будто сишником
Так и есть. Хотя, я иногда пытаюсь в функциональный стиль.
Аноним 15/05/22 Вск 17:46:37 #892 №2356932 
>>2356925
>fileutils.hh как раз конвертирует endianness.
https://github.com/VimDefecator/archiver/blob/6ac9514a1854051295baf9d7b453dabf12144b84/fileutils.hh#L15
https://github.com/VimDefecator/archiver/blob/6ac9514a1854051295baf9d7b453dabf12144b84/fileutils.hh#L28
Вот это? Где тут определенность? Он из машинной преобразует в альтернативную, в итоге образуется неопределенность.
>Остальное - забота фронтенда.
Переносимость между системами нулевая, в одной может быть ютф-8 кодировка для имен, в другой ютф-16 и т. д.. Узнать в какой кодировке было исходное имя очень сложно.
Аноним 15/05/22 Вск 17:56:10 #893 №2356940 
>>2356932
>Вот это? Где тут определенность? Он из машинной преобразует в альтернативную, в итоге образуется неопределенность.
Все там нормально. convertEndianness всегда ставит в соответствие least significant byte с последним адресом. На big endian машине вернет без изменений, на little endian - вернет задом-наперед. То есть после сериализации всегда получится big endian, а после десериализации - по архитектуре.
>Переносимость между системами нулевая, в одной может быть ютф-8 кодировка для имен, в другой ютф-16 и т. д.. Узнать в какой кодировке было исходное имя очень сложно.
Это да, надо как минимум создать для фронтенда геттер-сеттер ендпоинт для дополнительной секции, которая всегда пишется в архив, чтоб продвинутый фронтенд умел в такую переносимость. Мой test.cc не в счет вообще.
Аноним 15/05/22 Вск 18:16:06 #894 №2356953 
>>2356940
>convertEndianness всегда ставит в соответствие least significant byte с последним адресом
Он просто переворачивает порядок байт.
Аноним 15/05/22 Вск 18:30:54 #895 №2356968 
>>2356953
Нет. Ты переоцениваешь свое умение "видеть" семантику кода за полсекунды.
Аноним 15/05/22 Вск 18:47:31 #896 №2356979 
>>2356800
Не хочет инсталиться а через исходники её можно собрать?
Аноним 15/05/22 Вск 18:48:11 #897 №2356982 
>>2356940
> всегда ставит в соответствие least significant byte
Ставил бы, если бы ты кастанул правильно. А в твоём варианте просто переворачивает. А вообще у тебя в STL есть платформонезависимый конвертер, нахуй ты велосипед изобретаешь.
Аноним 15/05/22 Вск 18:51:49 #898 №2356984 
>>2356979
4.2/4.3 пробовал поставить?
Аноним 15/05/22 Вск 19:01:53 #899 №2356990 
>>2356984
Спасибо, установилось
Аноним 15/05/22 Вск 19:50:15 #900 №2357015 
>>2356982
Не понял. Но про STL посмотрю, не знал, что оно там есть.
Аноним 15/05/22 Вск 19:55:59 #901 №2357021 
>>2356982
Да што я блять кастанул не так-то епт???
Аноним 15/05/22 Вск 19:59:07 #902 №2357025 
>>2357021
Фаерболл.
Аноним 15/05/22 Вск 21:31:31 #903 №2357081 
И еще тупой вопрос по ООП и архитектуре. У меня есть класс A который работает с сетью (это не конкретно его цель, но сеть он использует). Есть класс, который занимается еще другой штукой B. И собственно сам класс, который занимается работой с сетью C. В и С должны быть внутри A. Как прокидывать связи между A,B,C. А->C понятной как. Он имеет к нему доступ, может просто дергать нужные функции. А как адекватно взаимодействовать между B и C. Они на одном уровне абстракции. Сделать C членом B не могу, поскольку экземпляр сети должен быть единственным. Просто ссылки делать?
Аноним 15/05/22 Вск 21:40:57 #904 №2357085 
>>2357081
И еще хочется уметь в зависимости от данных, которые пришли дергать B. Мне делать коллбеки вверх по иерархии?
Аноним 15/05/22 Вск 21:50:17 #905 №2357091 
>>2356276
да после ретурна уже ничего не важно
Аноним 15/05/22 Вск 21:54:09 #906 №2357094 
>>2357081
> А как адекватно взаимодействовать между B и C.
Это уже по умолчанию не адекватно. Если С - низкоуровневая работа с сеть, а А - абстракция над ней, то В не должно вообще знать о существовании С. Отправляй из А в С данные, которые нужны С.
>>2357085
> коллбеки
Лучше не надо, кидай лямбды как параметр функции. А ещё лучше корутины используй. Но для работы с сетью, опять же, лучше передавать данные куда надо, а не код.
Аноним 15/05/22 Вск 22:04:26 #907 №2357097 
>>2357094
A вообще занимается всем по сути. Это такой главный объект программы. B - некая довольно объемная логика, которая тоже использует сеть. Совсем оградить B от C я не могу. Значит буду наверх подниматься, а оттуда уже вниз. Спасибо
Аноним 15/05/22 Вск 22:06:10 #908 №2357100 
изображение.png
>>2357097
Ну или пытаться делать пик 1 вместо пика 2, но хз чет
Аноним 15/05/22 Вск 22:14:36 #909 №2357107 
>>2357100
У тебя дерево зависимостей должно быть. Не пирамида и не кольцо. Сечёшь, чел?
>>2357097
> главный объект программы
Очень плохая хуйня. Делай дерево, не гриб ебаный.
Аноним 15/05/22 Вск 22:16:31 #910 №2357108 
>>2357107
Хорошо, спасибо верните мне мои однофайловые контесты
Аноним 15/05/22 Вск 22:18:30 #911 №2357109 
>>2357107
Лол, что значит гриб?) Это как?
Аноним 15/05/22 Вск 22:23:18 #912 №2357110 
1597333243131.png
>>2357109
Вот так.
Аноним 15/05/22 Вск 22:33:02 #913 №2357116 
А как лучше связывать объекты, если никто не является друг другу предком? Передавать в конструктор указатели на функции другого класса? Или делать эдакий коннектор, который внутри себя хранить что и когда куда перекидывать и в нём уже все связи разруливать? Что то типо системы событий получится. Я в qt похожее видел
Аноним 15/05/22 Вск 22:58:54 #914 №2357135 
>>2357116
Проблемы с менеджментом памяти порешали все шизоидные джава-паттерны. Взаимодействовать с экземпляром объекта должен владелец этого экземпляра, если прям очень сильно надо, то передавать ссылку на этот экземпляр, но стараться по минимуму. Отдавать указатель на себя кому-то нельзя, лучше делать грамотный интерфейс у потомка и взаимодействовать с ним через вызов его методов, передавать только то что ему надо. А ещё можешь получить цикличную зависимость - это вообще пиздец, сразу знай что ты обосрался когда такое получилось и надо серьёзно переосмыслить что ты делаешь.
Алсо, вместо указателей должен быть unique_ptr, когда передаёшь по значению что-то желательно при любой возможности делать move или forward.
Аноним 15/05/22 Вск 23:34:02 #915 №2357155 
движок.jpg
>>2345617 (OP)
Аноним 15/05/22 Вск 23:36:03 #916 №2357158 
>>2357116
Не слушай шиза>>2357135
Их лучше не связывать вообще.
Аноним 15/05/22 Вск 23:49:49 #917 №2357168 
Сап двощ. Чому не могу член передать в ляммду? Приходится писать aboba =&aboba вместо просто &aboba или &this->aboba
Аноним 16/05/22 Пнд 00:10:42 #918 №2357180 
>>2357155
Игровые движки, да? Пик не имеет никакого смысла.
Их пишут потому, что это тупо интересно, а не чтобы превзойти студии с AAA.
Аноним 16/05/22 Пнд 00:20:46 #919 №2357185 
>>2357168
[=]
Аноним 16/05/22 Пнд 00:21:49 #920 №2357186 
>>2357180
>Пик не имеет никакого смысла.
Я один вижу что динозавр орет что-то про Unity и Unreal engine?
Тогда сорян.
Аноним 16/05/22 Пнд 01:06:00 #921 №2357200 
>>2357116
1. включение
2. умные указатели, реализующие различные модели владения
3. слабая связанность через шаблоны
4. паттерны (банда четырех)
Аноним 16/05/22 Пнд 09:31:52 #922 №2357260 
>>2357081
>>2357116
У вас в голове вопросы не возникают? Например, что говно какое-то получается?
Аноним 16/05/22 Пнд 11:32:16 #923 №2357314 
Повторяю вопрос - чем обусловлено использование чистого С для высоконагруженных приложений, что в нем есть, чего нет в С++ или С#?
Аноним 16/05/22 Пнд 12:06:10 #924 №2357329 
>>2357168
>>2357185
[this]
Аноним 16/05/22 Пнд 12:23:53 #925 №2357340 
>>2357314
>чистого С для высоконагруженных приложений
Для каких?
Аноним 16/05/22 Пнд 12:42:52 #926 №2357344 
>>2357260
Почему говно? Может быть сервер, а может быть гуй. Разные объекты без наследований. Как их связывать?
Аноним 16/05/22 Пнд 12:54:59 #927 №2357345 
>>2357344
>Может быть сервер
Не помню сервера на крестах.
>а может быть гуй
Ивенты.
Аноним 16/05/22 Пнд 13:17:04 #928 №2357353 
>>2357025
очень смешно, пиздец. Я все еще не понимаю
Аноним 16/05/22 Пнд 14:59:00 #929 №2357401 
>>2357340
Я этого не знаю.
Аноним 16/05/22 Пнд 16:31:01 #930 №2357436 
>>2357314

Писать на си вместо плюсов бред. Для низкоуровневых штук 0 разницы. Зато синтаксис приятнее во многом. На си обычно пишут там, где компилятор нормальный плюсовой не завезли
Аноним 16/05/22 Пнд 20:14:05 #931 №2357526 
>>2357436
Понял тебя. Чувствую, ты человек шарящий. Недавно тут сказали, что красивый код в проектах OpenCL и BOOST. А есть маленькие проекты на гитхабе, по котором можно поучиться писать красивый и эффективный код?
Аноним 16/05/22 Пнд 20:22:25 #932 №2357529 
изображение.png
Что это?
Аноним 16/05/22 Пнд 22:25:36 #933 №2357595 
>>2357529
Когда подключен дебаггером, то при вызове этой функции тебя в него выкинет на этой строчке. У каждого компилятора свой механизм этого, у тебя на пике чисто MSVC-шная реализация.
Аноним 17/05/22 Втр 00:24:54 #934 №2357649 
image.png
Сап, крестовый. ВУЗик ебёт прогой на самом лучшем ЯП конечно же я о С++. Надо отсортировать массив работников по фамилии. Ну а по правилам если первая буква одинаковая то сравнивать надо вторую. Но у меня почему-то код не хочет двигать элементы массива структур хоть убей.
Код: https://0bin.net/paste/fE-I3J32#9JfraPh0wdd5a118sjRikedebIsdO3r9oehWfJeJY69
Скрин результата выполнения прикрепляю.
Софт: VS 2022, MSVC
Заворачивание функций и структуры в namespace в headerе не моя прихоть.
Как видите: что-то там сортирует с ебейшим числом пропусков, в чём и проблема, но я так и не понял, какого хуя, но по факту хуй там. Функция вывода даёт массив в том виде, в котором я его заполнял.
Примечательно что первая реализация, накиданная для каркаса, сравнивающая только первые символы, работала очень даже хорошо: https://0bin.net/paste/L2jk6YKV#AT3U11+R1+U3b7hVeqvFm35Dk0TysqJsxeO8YOGKypg
Тут только функция сортировки, а не весь код, но больше ничего не менялось, кроме замены cin на cin.getline() и добавления скипа \n оба изменения чтобы читался пробел.
Аноним 17/05/22 Втр 00:27:39 #935 №2357652 
>>2357649
> с ебейшим числом пропусков, в чём и проблема, но я так и не понял, какого хуя
Отбой с этим замечанием, в этот раз, почему-то, пропусков сколько и должно быть. До этого же оно мне по 30 раз выводил Skipping. Т.е., сейчас вроде всё верно, но толку всё равно нету, должно быть Алах -> Аллах -> Алллах.
Аноним 17/05/22 Втр 00:48:11 #936 №2357660 
>>2357649
Памятка нюфагу:
- Лабы идут на хуй
Аноним 17/05/22 Втр 12:17:17 #937 №2357868 
>>2357595
Класс. А почему бы не кинуть исключение?
Аноним 17/05/22 Втр 16:54:12 #938 №2358090 
Ответьте на вопрос пожалуйста. Через месяц надо идти на практику, после буду устраиваться на стажировку/работу. На выбор есть завод, там микроконтроллеры, ПО на c++/c. Так же есть офис, там c#.

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

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

Что делать ? Идти на завод или учить шарпы и идти в офис?
Работа на плюсах у нас только на заводе, либо в говно студии, где клепают визуальные новеллы.
Аноним 17/05/22 Втр 17:23:57 #939 №2358117 
>>2357660
> Все идут на хуй
Так что после тебя.
Аноним 17/05/22 Втр 17:29:21 #940 №2358122 
>>2358090
Кодить под железо на С это самое дно по ЗП. Если на заводе именно это - сразу нахуй. Если с++, то смотри что за железка и какой уровень абстракции софта. В идеале если железка умеет обрабатывать серьёзные потоки данных (например от радаров, лидаров, камер) и работает под полноценной осью, имеет фронт и бэк.

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

За C# платят примерно как за c++, так что оба стула не очень.
Аноним 17/05/22 Втр 17:34:52 #941 №2358125 
>>2358117
Прохождение нахуй осуществляется в прямом порядке, начиная с первого пункта. Так что никаких после.
Аноним 17/05/22 Втр 18:04:48 #942 №2358144 
>>2357314
>C++
На мой взгляд, там слишком много всего есть. И это проблема
Аноним 17/05/22 Втр 20:56:12 #943 №2358217 
>>2358144
В чем проблема? Глаза разбегаются, долго не можешь выбрать?
Аноним 17/05/22 Втр 20:58:21 #944 №2358219 
>>2357314
Как и сказал >>2358144, С++ жирный.
С банально быстрее. В нём нету ООП и всей этой модной хуиты, он может показаться довольно топорным для тех, кто знаком с Java/C# или ещё более простыми ЯП, но эта топорность вызвана чисто техническими ограничениями компьютеров. И если в иных языках эти ограничения обойдены костылями из коробки, то С перекладывает эту роль на пользователя, где он может поебаться и сделать тем, что есть, придумывая свои собственные костыли, которые, однако, куда меньше херят производительность, так как делают только то, что нужно в конкретном проекте. Это преимущество и С++, но С++ всё же куда гуманнее в этом плане.
>>2358125
А я сказал с конца, значит с конца. Меня порядок пунктов слабо ебёт. Аж никак.
Аноним 17/05/22 Втр 21:07:16 #945 №2358227 
>>2358219
> которые, однако, куда меньше херят производительность
На ходу фантазируешь? Кресты с кодом в си-стиле работают так же быстро как и сам си. Но при этом есть большое количество задач, в которых кресты быстрее си. Ну и вспомни хотя бы какое извращение выдумывали в ядре линукса, чтоб изобрести свой ООП с динамической диспетчеризацией.
Аноним 17/05/22 Втр 21:21:48 #946 №2358234 
>>2358219
Ну так ты с любой стороны нахуй идёшь, причём по 4 пунктам из 5.
Аноним 17/05/22 Втр 21:30:33 #947 №2358237 
>>2358122
Благодарю за ответ, буду думать.
Аноним 17/05/22 Втр 22:24:51 #948 №2358244 
image.png
Говнокод или нет?
Аноним 17/05/22 Втр 22:32:10 #949 №2358245 
>>2358237
В догонку ещё можно сказать, что на c# будет быстрый старт - открыл студию и пиши код. А вот с c/c++ тебе придётся поначалу тратить до 70% времени на борьбу с линуксом, системами сборки, кросскомпилцией, прошивками, редакторами типа vim, консольными отладчиками и ковыряниями в логах. Остальные 30% ты будешь писать код.
Аноним 17/05/22 Втр 22:37:17 #950 №2358249 
>>2358122
Как вкатиться в это ваше кодирование под железо?
Аноним 17/05/22 Втр 23:23:07 #951 №2358269 
>>2358249
1. Закончить радиотехнический техникум.
2. Пойти на завод.
2.1. Подписаться на Си тред.
Аноним 17/05/22 Втр 23:39:23 #952 №2358274 
>>2358269
Этот план пахнет хуем. Почему я думал что это что-то крутое?
Аноним 18/05/22 Срд 00:20:35 #953 №2358287 
>>2358274
Потому что ты смотрел видосики как соевые няшатся с малинками и как робот Atlas весело скачет по коробочкам. На скрепных заводах такого нет обычно. Максимум какой-нибудь слабовичок из семейства STM и FPGA к нему впридачу.
Аноним 18/05/22 Срд 00:22:58 #954 №2358288 
>>2358287
>соевые няшатся с малинками и как робот Atlas весело скачет по коробочкам
Ну так это я и хотеть. Я не в скрепной живу, потому повторю вопрос: как вкатиться?
Аноним 18/05/22 Срд 01:28:58 #955 №2358313 
>>2356915
>И ШО ТЫ МНЕ ТЕПЕРЬ СДЕЛАЕШЬ? А??? А???????
error: reference to ‘N’ is ambiguous
Твои действия?
Аноним 18/05/22 Срд 11:30:31 #956 №2358406 
constexpr или static constexpr для полей класса?
Аноним 18/05/22 Срд 12:22:47 #957 №2358421 
>>2358406
Чел...
А вообще, static стоит использовать только для совместимости с сишкой, пока this self не завезут для статики никогда не завезут.
Аноним 18/05/22 Срд 12:25:07 #958 №2358422 
>>2358421
Что чел? Я только ~3 месяца в языке. И что значит только? А что там по статичным мемберам класса?
Аноним 18/05/22 Срд 12:28:57 #959 №2358426 
>>2358422
> статичным мемберам класса
Нахуя? Они тебе не нужны, пока ты не соберёшься их в си использовать. Всегда есть лучше решения, чем статика.
Аноним 18/05/22 Срд 12:33:23 #960 №2358428 
>>2358426
И какая же альтернатива? Хуярить функциональщину?
Аноним 18/05/22 Срд 12:53:40 #961 №2358442 
>>2345617 (OP)
Комрады, посоветуйте нормальные плагины для эклипса. Только поставил, думаю на нее перекатится.
Аноним 18/05/22 Срд 13:08:23 #962 №2358458 
>>2358442
>эклипса
Он же загнулся еще 10 лет назад?
Аноним 18/05/22 Срд 13:10:10 #963 №2358459 
>>2358458
Тогда посоветуйте нормальную среду.
Аноним 18/05/22 Срд 13:10:54 #964 №2358460 
>>2358459
nvim
Аноним 18/05/22 Срд 13:27:02 #965 №2358464 
>>2358459
>посоветуйте нормальную среду.
Сегодня вроде нормальная.
Аноним 18/05/22 Срд 13:31:27 #966 №2358466 
>>2358464
Сегодня у меня унылая среда.
Аноним 18/05/22 Срд 13:40:30 #967 №2358473 
>>2358459
Visual Studio
Аноним 18/05/22 Срд 13:42:36 #968 №2358475 
>>2358459
Чел, сейчас фактически только две IDE существует: VS для винды и CLion для любителей опенсорсного говна типа линукса. Ну ещё есть текстовый редактор VS Code для любителей консольки. На этом всё.
Аноним 18/05/22 Срд 13:48:04 #969 №2358478 
>>2358475
Винду никто не любит (
справедливо
Аноним 18/05/22 Срд 13:52:55 #970 №2358484 
>>2358478
2% вообще странные люди, они ничего не любят, кроме долбёжки в консольку. Про то что можно писать системный код на чём-то кроме С и питона узнали только пару лет назад. Больные люди.
Аноним 18/05/22 Срд 13:56:19 #971 №2358488 
>>2358484
Не знаю, я просто хочу комфорта. У нас писали в основном в CLion'е. Ну а мне нужна среда легкая (по ресурсам) ибо часто таскаю нетбук с собой, да и там i3 стоит, не будет гармонии. Хотя я не хейчу остальные Ide или ОС, мне просто так комфортно.
Аноним 18/05/22 Срд 16:08:59 #972 №2358586 
>>2358475
>текстовый редактор VS Code
Расширение от мс не может распарсить средний проект на крестах, кланговское расширение выглядит, как говно. Проще сразу саблайм ставить.
Аноним 18/05/22 Срд 16:15:02 #973 №2358593 
>>2358488
Я же сказал тебе уже: берёшь nvim и бед не знаешь.
Аноним 18/05/22 Срд 17:09:01 #974 №2358637 
> static

Кратко о том, как распознать явопидора или шарпахуесоса.
Аноним 18/05/22 Срд 17:10:12 #975 №2358640 
>>2358478
> Винду никто не любит
Говори винда круто!
Аноним 18/05/22 Срд 17:20:34 #976 №2358648 
Безымянный.png
Вот пидоры же, хуйню написали. p++ (или ++p) аналогичен p+=1, я проверил.
Аноним 18/05/22 Срд 17:30:05 #977 №2358652 
>>2358648
>Вот пидоры же
Рыбак рыбака
Аноним 18/05/22 Срд 17:42:46 #978 №2358659 
Что дешевле: memset или деструктор+конструктор?
Аноним 18/05/22 Срд 17:44:40 #979 №2358661 
>>2358648
А вот тут опять пиздёж, ++p и p++ не эквивалентны, хоть и могут генерировать одинаковый код с оптимизациями.
Аноним 18/05/22 Срд 18:40:00 #980 №2358685 
>>2358288
>как вкатиться?
Как и всюду: смотришь вакансии, если где-то половина строчек в requirements совпадает с твоими скиллами, то отправляешь резюме. Если нет, то осиливаешь требования.
Аноним 18/05/22 Срд 20:09:14 #981 №2358740 
>>2357868
Потому что ты хочешь остановиться и глазами посмотреть состояние программы в определённый момент. Это именно функция для отладки, не для обработки ошибок или чего-либо другого.
Аноним 18/05/22 Срд 21:49:37 #982 №2358791 
Безопасно ли записывать данные в объект по его адресу напрямую? Хочу с сети получить структурку и сразу записать ее без конструкторов и тд. Если бы я юзал просто struct или class без полей, то можно. Но мне хочется отнаследоваться от абстрактного класа и хранить вектор наследников. Не возникнет ли тут проблем?
Аноним 18/05/22 Срд 21:51:30 #983 №2358792 
>>2358791
UB
Аноним 18/05/22 Срд 21:59:34 #984 №2358796 
>>2358792
Какое элегантное решение есть?
Аноним 18/05/22 Срд 22:01:56 #985 №2358799 
>>2358791
> отнаследоваться от абстрактного класа
Шиз что ли? Просто бери структуру с alignas и пиши в неё байты. А структуру хоть залупой оборачивай.
Аноним 18/05/22 Срд 22:03:17 #986 №2358800 
>>2358796
Могу упороться и написать структуру чисто для записи и уже класс с конструктором от этой структуры, который буду в вектор писать. Но выглядит немного некрасиво
Аноним 18/05/22 Срд 22:39:39 #987 №2358833 
>>2358659
Бамп. Речь о структуре с массивами чаров и интами.
Аноним 18/05/22 Срд 23:41:34 #988 №2358869 
>>2358791
Всё, что не-POD, близко нельзя подпускать к read/write/memcpy и чтению сырых байт их экземпляров. А то ненароком vptr перетрёшь или залезешь на другое поле. Выдели отдельную структуру, оберни её в pragma pack и читай в неё хоть из файла, хоть из сети.
Аноним 18/05/22 Срд 23:45:07 #989 №2358870 
>>2358869
>memcpy
Да бля, вы издеваетесь что ли? reintepret_cast нельзя, memcpy нельзя, что можно то?
Аноним 18/05/22 Срд 23:48:28 #990 №2358871 
>>2358870
Можно взять два целых числа от 0 до 10 и сложить их, всё остальное - UB.
Аноним 19/05/22 Чтв 00:01:17 #991 №2358876 
>>2358871
На 4-битном процессоре это тоже UB
Аноним 19/05/22 Чтв 00:08:04 #992 №2358879 
>>2358876
На таком процессоре стандарт не реализовать.
Аноним 19/05/22 Чтв 06:17:17 #993 №2358939 
>>2358593
Я neo попробовал, мне зашло лучше чем micro, разберусь сегодня какие еще плагины накатить и радоваться буду.
Добра тебе анон.
Аноним 19/05/22 Чтв 09:46:47 #994 №2358993 
>>2345617 (OP)
Сап. Qt Creator не доступен для скачивания в рф, удалось скачать open source версию ide, но там отсутствует комплект для c++. Где его взять отдельно без гомоебли с vpnнет такой возможности
Аноним 19/05/22 Чтв 09:48:25 #995 №2358994 
>>2358993
>удалось скачать open source версию ide
>но там отсутствует комплект для c++
Что ты скачал?
Аноним 19/05/22 Чтв 10:10:27 #996 №2358999 
>>2358994
Установщик
Qt-creator-open-source-windows-x86_64-6.0.1.exe
Аноним 19/05/22 Чтв 11:01:50 #997 №2359018 
Как сделать так, чтобы VS Studio 2019 сохранял свёрнутые функции?
Аноним 19/05/22 Чтв 11:15:55 #998 №2359024 
>>2359018
Что?
Аноним 19/05/22 Чтв 11:39:15 #999 №2359040 
>>2359018
Сворачиваешь функцию, нажимаешь ctrl+S ?
Аноним 19/05/22 Чтв 11:48:56 #1000 №2359047 
>>2359040
а потом при открытии получаю где свёрнуто где нет, а иногда вообще ничего не свёрнуто.
Аноним 19/05/22 Чтв 12:11:46 #1001 №2359055 
Здравия желаю, аноны!
Подскажите, как в плюсах можно написать консольный ввод так, чтобы символов не было видно или они выводились звездочками? Знаю про С-шный getch и putch('c'), а в стандартных библиотеках С++ есть что-нибудь с подобным функционалом? Допустим, чтобы я сразу мог писать в стринг, а не в массив чаров, потом стринг приравнивая с этому массиву
Аноним 19/05/22 Чтв 12:21:53 #1002 №2359060 
>>2359047
Ну хуй знает, попробовал посворачивать в разных файлах, сохранять и перезапускать студию - вроде при открытии всё остаётся как было при закрытии
Аноним 19/05/22 Чтв 13:56:00 #1003 №2359144 
>>2358993
Тебе нужен сам фреймворк а не иде. Последний оффлайн инсталлер у них был 5.12. Поищи версию с мингв.
Аноним 19/05/22 Чтв 18:36:27 #1004 №2359338 
В каком ide есть функция автодобавления инклюдов?
Аноним 19/05/22 Чтв 18:38:40 #1005 №2359340 
>>2359338
Нет.
Аноним 19/05/22 Чтв 19:02:11 #1006 №2359361 
>>2359338
у меня clangd это умеет
в вижаке тоже такая штука есть, только хзы она там из под коробки, или её как то прикручивать надо
Аноним 19/05/22 Чтв 20:10:53 #1007 №2359399 
>>2359338
В старых ВС прикручивалась решарпером, сейчас хз, не работал.
Аноним 19/05/22 Чтв 20:36:22 #1008 №2359420 
>>2358870
Как я сказал, то можешь всё делать только с POD объектами. Если у тебя https://en.cppreference.com/w/cpp/named_req/StandardLayoutType, то спокойно издевайся над байтиками.
Аноним 19/05/22 Чтв 21:56:10 #1009 №2359468 
>>2359399
Можно Visual Assist поставить.
Аноним 19/05/22 Чтв 22:16:52 #1010 №2359478 
image.png
image.png
Решил на днях начать разбираться в новом сорте говна

Будучи избалованной C#-макакой, привык к тому, что интеллисенс в Visual Studio на ходу объясняет, чё делает классы/методы/переменные, к которым я пытаюсь обратиться, чего теперь пиздецки не хватает, см. пикрел. (Методы на картинках абсолютно рандомные, чисто чтобы показать, о чём я.)

Есть, конечно, https://en.cppreference.com с вроде бы годными рефами, но очень хочется увидеть их прям в редакторе, не копипастя название метода в окно браузера. Находил какие-то упоминания doxygen, но как заставить его работать с интеллисенсом для стандартных библиотек так и не разобрался.



Аноним 19/05/22 Чтв 22:22:47 #1011 №2359486 
1558634279138692575-converted.gif
>>2359478
Собственно, вопрос: как пофиксить?
на данный момент я использую Visual Studio, но мне в целом не принципиально до тех пор, пока мне не нужно слезать с винды.

Гифку с попугаем в качестве оплаты прилагаю.
Аноним 20/05/22 Птн 02:36:44 #1012 №2359565 
>>2359486
Никак. Для дотнета документация тянется из xml doc комментов (если их кто-то написал) или метаданных сборки (куда она попадает из комментов).
Для плюсов такого никто не писал, хорошо хоть плюсовый интелисенс научили работать с док комментами, так что если в какой либе (бусте например) они будут, то в подсказку потянутся, а так - увы.
Пользуй cppreference, там все что надо есть, всё равно раз только начал, без подробностей не разберёшься, или протопчешься по всем граблям.
Аноним 20/05/22 Птн 03:43:10 #1013 №2359567 
image.png
1637257482739.webm
>>2359565
На cppreference есть несколько вариантов для скачивания документации, один из них это документация от doxygen - нельзя никак заставить интеллисенс тыкаться в неё?
Если и это не прокатит, есть ли возможность в вижуал студии перенаправить "Search online" (пикрел) с богомерзкого бинга на cppreference?

С меня шебм с котом.
Аноним 20/05/22 Птн 07:05:39 #1014 №2359603 
bing.png
>>2359567
Попробуй поменять тут.
Аноним 20/05/22 Птн 09:16:14 #1015 №2359633 
>>2358313
Не юзать using namespace в хедерах, вестимо. В рамках одного cc такое можно хоть каждый раз ловить и фиксить.
Аноним 20/05/22 Птн 10:24:22 #1016 №2359679 
>>2359567
Про скачивание знал, но думал, что там только html и pdf, про doxygen не знал. Надо расширение для студии поискать, может и есть, чтобы внешний док подхватывать.

Про поиск тебе >>2359603 ответил.
Аноним 20/05/22 Птн 10:58:14 #1017 №2359693 
Screenshot from 2022-05-20 10-56-44.png
Сап, плюсач. Это нормально, что у меня эта пиздища не компилится на clang-10? На какие-то коллаблы-хуёллаблы ругается, ебу шо не так...
Аноним 20/05/22 Птн 11:05:13 #1018 №2359695 
>>2359693
>На какие-то коллаблы-хуёллаблы ругается, ебу шо не так...
Лог ошибок.
Аноним 20/05/22 Птн 11:08:11 #1019 №2359699 
>>2359695
https://pastebin.com/8bAmGt0W
Аноним 20/05/22 Птн 11:09:39 #1020 №2359700 
>>2359699
Пиздос кал. И после такого вы ещё что-то пиздите на VC++?
Аноним 20/05/22 Птн 11:16:14 #1021 №2359702 
>>2359700
В мс не знают о существовании крестов, как и о си.
>>2359699
Хуй знает, собирай гссом.
Аноним 20/05/22 Птн 11:32:20 #1022 №2359708 
>>2359702
>Хуй знает, собирай гссом.
Не я решаю. В конторе clang-10, так что пока так выживаем. Штош, буду юзать projection, всем спасибо.
Аноним 20/05/22 Птн 12:28:33 #1023 №2359770 
Блять, как же неудобно, пиздец просто, почему плюсы так долго рожают это все, что я не доживу, по ходу? Хосспаде, как же хочется писать:
std::set_intersection(std::views::keys(map), requiredKeys, std::back_inserter(result))
Аноним 20/05/22 Птн 15:05:36 #1024 №2359945 
>>2359693
Верстю плюсов нужную указал?
Аноним 20/05/22 Птн 19:50:50 #1025 №2360205 
Я создаю функцию main, а в ней
int i = 0;
int n;
int* ptr = &n;

Затем в бесконечном цикле 1) инкрементирую счетчик i, указатель ptr и мусорное значение по указателю ptr и 2) вывожу всех троих в cout.

В результате получаю непредсказуемо от 1200 до 2200 проходов цикла, причем последние несколько значений по разыменованному указателю перед сегфолтом всегда одинаковые. Как объяснить такой разброс? Больше в программе ничего нет.

Аноним 20/05/22 Птн 20:00:02 #1026 №2360212 
>>2360205
> инкрементирую указатель ptr
> Как объяснить такой разброс?
Ты вообще вменяемый? Тут нечего объяснять, оно работает ровно как и должно - неопределённо.
> UB
> непредсказуемо
Ахуеть просто.
Аноним 20/05/22 Птн 20:07:41 #1027 №2360215 
>>2360205
>получаю непредсказуемо
Неправильно. Ты предсказуемо получаешь больше трех итераций.
>Как объяснить такой разброс?
Неопределенное поведение.
>Больше в программе ничего нет.
Без оптимизаций собери, у тебя будет 3 вывода. Зависит от системы и компилятора, но скорее всего так и будет на x86_64 clang\gcc, возможно и со студийным.
Аноним 20/05/22 Птн 20:48:38 #1028 №2360243 
>>2360215
>>2360212
>неопределенное поведение

Уи нид ту го дипер, я пытаюсь конкретизировать это определение, насколько возможно. Скажем, если указатель наоборот декрементировать, я получаю итераций минимум на 3 порядка больше. Также я никогда не получаю меньше 1000 итераций в первом варианте. Собственно меня интересует, что конкретно происходит в этот момент.
>>2360215
>Без оптимизаций собери, у тебя будет 3 вывода.
-fno-builtin попробовал, или это не то? Результаты те же.


Аноним 20/05/22 Птн 20:54:43 #1029 №2360248 
>>2360243
> я пытаюсь конкретизировать это определение
Что тебе не понятно? Оно может быть любым, тупая ты пизда. Твой код и сам компилятор не определяют конкретное поведение этого кода.
> что конкретно происходит
Выделенная память кончается, наркоман.
Аноним 20/05/22 Птн 21:01:18 #1030 №2360254 
>>2360248
>Выделенная память кончается, наркоман
Почему память кончается иногда после 1200, иногда после 1700, а иногда после 2200 итераций? Одна и та же система выделяет одной и той же программе разное количество памяти прикаждом запуске процесса? От чего это зависит?
Аноним 20/05/22 Птн 21:09:54 #1031 №2360258 
>>2360254
> От чего это зависит?
Я ебу на чём ты запускаешь? Спроси у того кто писал твою ОС.
Аноним 20/05/22 Птн 21:10:18 #1032 №2360260 
>>2360254
>Почему память кончается
Она не кончается.
> иногда после 1200, иногда после 1700, а иногда после 2200 итераций?
Возможно это связано с аслр.
Аноним 20/05/22 Птн 21:13:56 #1033 №2360262 
>>2360260
> Она не кончается.
Кончается read-write участок памяти, попизди мне тут.
> Возможно
Не возможно, а оно и есть. Релокации по дефолту динамические.
Аноним 20/05/22 Птн 21:15:29 #1034 №2360265 
>>2360260
>аслр
Во, что-то такое меня и интересовало, видимо.
Аноним 20/05/22 Птн 21:16:27 #1035 №2360267 
>>2360262
Четакой едкий, выпей чаю.
Аноним 20/05/22 Птн 21:19:45 #1036 №2360271 
>>2360262
>Кончается read-write участок памяти, попизди мне тут.
Но память не кончается.
>а оно и есть
Откуда ты знаешь какая у него система? Может быть там аслр нет?
Аноним 20/05/22 Птн 22:51:20 #1037 №2360326 
Как обнулить инстанс структуры хранящийся в unique_ptr?
Аноним 20/05/22 Птн 23:44:57 #1038 №2360348 
>>2360326
⋆uPtr = StructName{}
чем не устраивает?
Аноним 21/05/22 Суб 09:18:12 #1039 №2360437 
>>2360348
Это создаст новый и уничтожит старый.
Аноним 21/05/22 Суб 09:38:09 #1040 №2360444 
>>2360437
А тебе что надо?
Аноним 21/05/22 Суб 09:50:50 #1041 №2360451 
>>2360444
У меня лупа
Аноним 21/05/22 Суб 11:23:19 #1042 №2360497 
>>2360444
Хз, я не он >>2360326, просто на создание нового объекта и уничтожение старого уйдет больше времени, чем на обнуление старого. Или компиляторы такое поведение умеют оптимизировать?
Аноним 21/05/22 Суб 11:48:34 #1043 №2360511 
Кстати, про уничтожение объектов, можно ли вызывать их асинхронно? Например, чтобы деструктор не задерживал выполнение следующего кода? Просто стало интересно. Может быть есть какие-то нестандартные расширения компиляторов?
Аноним 21/05/22 Суб 12:17:46 #1044 №2360530 
>>2360511
То, о чём ты говоришь обычно называют deferred reclamation. Но это уже другая парадигма времени жизни и владения объектами, нежели RAII, который стандартно используется в плюсах. В RAII ты точно знаешь, когда выполнится деструктор и какие ресурсы будут освобождены.
Аноним 21/05/22 Суб 13:27:41 #1045 №2360559 
>>2360497
Тогда проще сделать метод обнуления.
Аноним 21/05/22 Суб 13:31:52 #1046 №2360563 
>>2360559
Чем вариант ⚹pointer = {} не вариант?
Аноним 21/05/22 Суб 17:08:28 #1047 №2360681 
>>2358245
>>2358090

В итоге я выбрал научно-производственное предприятие (завод про который я писал). Он связан с разработкой ПО и оборудования для электроэнергетики.

Вспоминаю С++, подтягиваю знания ООП, решаю задачи, учу алгоритмы, разбираю библиотеку STD и умные указатели.
Линукс и гит надо изучить.
Аноним 21/05/22 Суб 18:17:33 #1048 №2360730 
>>2360681
>Через месяц
>Вспоминаю С++, подтягиваю знания ООП, решаю задачи, учу алгоритмы, разбираю библиотеку STD и умные указатели.
В итоге идёшь нахуй по причине Segmentation fault
Аноним 21/05/22 Суб 19:07:14 #1049 №2360764 
У меня базовый класс. Хочу чтобы все наследники имели одинаковую функцию (по имени), которая должна возвращать разные по типу значения. Такое возможно?
Аноним 21/05/22 Суб 19:25:28 #1050 №2360776 
Поймал себя на том, что вместо даже простейших функций создаю целые классы. Как отучиться от этой пагубной привычки?
Аноним 21/05/22 Суб 19:28:56 #1051 №2360777 
>>2360764
Да, если она возвращает std::variant или union.
Аноним 21/05/22 Суб 20:16:46 #1052 №2360814 
>>2360776
Используй неймспейсы всегда, пока не почувствуешь что тут нужен класс.
Аноним 21/05/22 Суб 22:03:48 #1053 №2360880 
>>2360730
Ну если не баловаться с сырыми указателями, то для сегфолта надо что нибудь нетривиальное сделать. Например сотворить (global) static initialization order fiasco и дёрнуть разрушенный объект из деструктора другого глобального объекта.
Аноним 21/05/22 Суб 22:05:06 #1054 №2360882 
>>2360777
Или указатель
Аноним 21/05/22 Суб 22:29:26 #1055 №2360889 
>>2360880
>Ну если не баловаться с сырыми указателями, то для сегфолта надо что нибудь нетривиальное сделать
https://godbolt.org/z/G646v519G
Аноним 22/05/22 Вск 01:02:16 #1056 №2360952 
Я чет туплю, но как сделать нормальный интерфейс для передачи данных пакетами? Если бы всё было фиксированной длины, то ок, но у меня могут быть строки переменной длины. Хочется не писать каждый раз простыню. Правильно ли я понимаю, что оптимальный вариант это перегрузка для каждого типа.
Аноним 22/05/22 Вск 01:10:48 #1057 №2360955 
>>2360952
Юзать std::string?
Аноним 22/05/22 Вск 01:11:35 #1058 №2360956 
>>2360955
??? Как я string в сокет отправлю без мороки?
Аноним 22/05/22 Вск 01:13:11 #1059 №2360957 
>>2360956
А ебу что там у тебя за сокет? Юзай любой подходящий контейнер поддерживающий ресайз и не выёбывайся.
Аноним 22/05/22 Вск 01:29:28 #1060 №2360964 
pepe.png
>>2345617 (OP)
Кто-нибудь тут писал интерфейсы? Я осознал что пишу 100% hard code и мой класс для контролера к игре разрастается до слишком больших размеров. Раньше это был класс Mouse, но теперь туда добавилось много вычислений для юнитов. Я захотел расширяемости. Паттерны раньше не применял. Нужно ли мне написать интерфесы?
Аноним 22/05/22 Вск 08:02:05 #1061 №2361000 
>>2360956
send(socket, &string[0], string.length(), flags)
Аноним 22/05/22 Вск 08:54:51 #1062 №2361011 
>>2360952
Можно передавать длину строки перед ней. Можно вообще жсоны гонять если скорость не критична.
Аноним 22/05/22 Вск 10:49:50 #1063 №2361039 
>>2360952
Чем тебе http и json не угодили?
Аноним 22/05/22 Вск 10:56:39 #1064 №2361043 
>>2361039
Микропенисная макака итт.
Аноним 22/05/22 Вск 11:10:54 #1065 №2361047 
>>2361043
Велосипедоеб, спок.
Аноним 22/05/22 Вск 11:14:09 #1066 №2361050 
>>2361047
>Велосипедоеб
Почему?
Аноним 22/05/22 Вск 12:17:34 #1067 №2361067 
Так-так-так, москалики, доложите как у вас там с плюсовыми вакансиями? Все ещё продолжаете ржать с Kharkiv IT Hub или уже несмешно?

>>2360952
>как сделать нормальный интерфейс для передачи данных пакетами?
protobuf

>>2360764
>Хочу чтобы все наследники имели одинаковую функцию (по имени), которая должна возвращать разные по типу значения.
https://en.wikipedia.org/wiki/Covariant_return_type

>>2360511
>Кстати, про уничтожение объектов, можно ли вызывать их асинхронно?
В Qt есть deleteLater, можешь реализовать что-то аналогичное (очередь в которую перебрасываются объекты)

>>2360326
>Как обнулить инстанс структуры хранящийся в unique_ptr?
std::memset(ptr.get(), 0, sizeof(⚹ptr.get()));

>>2360205
>получаю непредсказуемо
Во-первых UB (уже сказали), во-вторых ты двигаешься по стеку внизу. В лялексном стеке будут лежать argv и env. Также расположение стека по ASLR может быть весьма рандомным (тоже уже сказали в треде)

>если указатель наоборот декрементировать, я получаю итераций минимум на 3 порядка больше
Понятное дело, дефолтный размер стека в лялексе - 16 Мб, и двигаясь снизу-вверх ты просто проходишь неинициализированную память (точнее система ее заранее почистит нулями, но в стандартной glibc слишком дохуя чего происходит при стартапе)


Салтовка-кум
Аноним 22/05/22 Вск 13:41:14 #1068 №2361112 
>>2352159
>>2352663
>>2361067
>Салтовка-кум
зарепортил вниманиеблядь
Аноним 22/05/22 Вск 15:00:32 #1069 №2361152 
Класс принимает лямбду при конструировании. Как сделать так, чтобы лямбда имела доступ к объекту класса?
Курсы SkillBox Аноним 22/05/22 Вск 15:09:42 #1070 №2361163 
Привет Двач программисты.
Мне 22,заканчиваю экономический институт и так как я нахуй не нужен как специалист за больше чем 900евро в месяц то решился изучить c++ через SkillBox.Cкажите,нормальное ли это обучение,и все так как они говорят? За себя могу сказать что готов к усилиям в этом направлений,но нуждаюсь в кураторе.
Аноним 22/05/22 Вск 15:19:30 #1071 №2361167 
>>2361152
Передавать ей при вызове this в параметрах? Подозреваю захват окружения при создании лямбды будет ещё до выделения памяти под класс.
Аноним 22/05/22 Вск 15:42:27 #1072 №2361176 
>>2361163
Скиллбокс(скиллфактори, и тд) это инфоцыгане. Гугли отзывы на подобные канторы, там расписано как преподают материал, какое качество материала и в чем будет менторство заключаться.
Игра не стоит свеч.

Книжки, ravesli, learncpp и прочие условно бесплатные источники информации - вот путь.
Аноним 22/05/22 Вск 15:53:39 #1073 №2361181 
>>2361067
>как у вас там с плюсовыми вакансиями

Точку стабилизации уже прошли. Идёт откат к старым значениям с одновременным укреплением рубаса. Ну и как следствие участились попытки прописать зарплату в далларах (хотят ка раньше свои нищенские 3к платить).
Аноним 22/05/22 Вск 15:55:28 #1074 №2361183 
>>2361163
Жабу лучше изучай. Она ближе к делам экономистов. Или Один Эсс.
Аноним 22/05/22 Вск 16:07:05 #1075 №2361184 
>>2361163
Толсто.
Аноним 22/05/22 Вск 16:11:57 #1076 №2361186 
изображение.png
>>2361167
Так? Не работает
Аноним 22/05/22 Вск 16:13:14 #1077 №2361190 
>>2361186
>Не работает
Баг компилятора, попробуй другим собрать.
Аноним 22/05/22 Вск 16:14:05 #1078 №2361191 
>>2361190
Я msvc компилирую....
Аноним 22/05/22 Вск 16:24:14 #1079 №2361196 
>>2361186
Нет. Лямбда должна принимать указатель на твой класс в качестве аргумента, если собирается его использовать.
Аноним 22/05/22 Вск 16:25:26 #1080 №2361199 
>>2361196
Так а как, если класс еще не сконструирован?
Аноним 22/05/22 Вск 16:35:20 #1081 №2361205 
>>2361199
Ладно, видимо подход хуевый. Надо иначе делать. Если интересно, то мне показалось хорошей идеей сделать максимально общий класс сервера, который будет новые соединения в переданную лямбду передавать, а она внутри себя их уже обрабатывать. Но затем мне понадобилось в лямбде использовать метод сервера и всё. Сделаю значит просто наследника от своего максимально общего класса.
Аноним 22/05/22 Вск 16:44:23 #1082 №2361215 
>>2361205
>показалось хорошей идеей сделать максимально общий класс сервера
Зачем?
Аноним 22/05/22 Вск 16:57:38 #1083 №2361226 
>>2361215
Он должен был взаимодействовать с кучей других объектов и мне показалось хорошей идеей передвать в сервер лямбду, которая захватит эти объекты. Видимо придется преисполниться шаблонами и писать сервер, который примет ссылки на все те объекты и будет внутри себя их дергать.
Аноним 22/05/22 Вск 17:03:27 #1084 №2361229 
>>2361226
Зачем усложнять?
Аноним 22/05/22 Вск 17:04:53 #1085 №2361231 
>>2361229
Чтобы при каждом чихе не лезть в код сервера и не менять его, если вдруг ему понадобится еще один объект для взаимодействия.
Аноним 22/05/22 Вск 17:16:03 #1086 №2361243 
>>2361231
Максимально абстрактный код сервера на псевдокоде, зачем усложнять?
https://0bin.net/paste/+B9N3PVY#BTUPMznhI9e7S8EF2qpiRTaZfpDlF67M8MR5fsYlFEN
Аноним 22/05/22 Вск 17:16:39 #1087 №2361244 
>>2361229
Ну а вообще я хуй знает. Я в первый раз пишу прогу в которой несколько сущностей разных и они должны как то с собой взаимодействовать. + хочу писать максимально модульный код, поэтому qt с его слотами/сигналами не юзаю, а пытаюсь как то из сервера вызывать нужные функции. Хотя может этт и странно и лучше взять qt с его системой сигналов и слотов.
Аноним 22/05/22 Вск 17:18:57 #1088 №2361247 
>>2361243
У меня то же самое по сути. Но мне в хэндлере надо другие объекты юзать. Вот их законнектить было проблематично. Сначала решил лямбду с нужными объектами передавать, но оказалось хуйня
Аноним 22/05/22 Вск 17:21:31 #1089 №2361251 
>>2361247
>Но мне в хэндлере надо другие объекты юзать.
>extra
Указатель на какой-то объект.
Аноним 22/05/22 Вск 18:48:22 #1090 №2361299 
>>2361251
Значит будет у меня специализация под конкретные объекты, а не общий обработчик. Ну ладно. Мне уже не важно. Главное чтобы работало
Аноним 22/05/22 Вск 19:28:51 #1091 №2361332 
>>2361299
Это вообще хуево или нет? Принято ли в проектах писать структуры заточенный под связь с другими или все стараются максимально модульным сделать?
Аноним 22/05/22 Вск 20:22:15 #1092 №2361344 
Есть тип FT_Face, который определён как
typedef FT_FaceRec_ ⚹FT_Face;

Этот код компилируется:
FT_Face f;
auto error = FT_New_Face(lib, filename, index, &f);
shared_ptr<FT_FaceRec_> face(f, FT_Done_Face);

А этот выдаёт ошибку:
FT_Face f;
auto error = FT_New_Face(lib, filename, index, &f);
shared_ptr<remove_pointer<FT_Face>> face(f, FT_Done_Face);

Почему?
Аноним 22/05/22 Вск 20:49:34 #1093 №2361356 
>>2361344
::type
Аноним 22/05/22 Вск 22:04:17 #1094 №2361386 
>>2360964
бамп вопросу. Собственно писал на эмоциях от этого видео
https://www.youtube.com/watch?v=Bw6RvCSsETI
сорян за типа "рекламу инфоцигана левого", но все началось со спока с одной php макакой в /b про SOLID

Как по мне SOLID это противоположность YAGNI. И я больше за YAGNI и 100% hard code. В то время как SOLID это на самом деле софт код из за "D" который размывает структуру ИМХО.

второкурсник-кун (да еще один в влимание-особая-личность, тяжело...)
Аноним 22/05/22 Вск 22:38:22 #1095 №2361405 
4 дня сидел без интернета, благо был референс скачанный на харде. Прочитал почти весь тупо как как книгу. Я уже стал сеньором-джедаем или да?
Аноним 22/05/22 Вск 23:01:29 #1096 №2361422 
>>2361405
да
Аноним 22/05/22 Вск 23:17:54 #1097 №2361429 
>>2361422
Заебись. Дайте инвайт на собес.
Аноним 23/05/22 Пнд 01:15:05 #1098 №2361484 
>>2361429
Устроим собес прямо здесь. Могу взять тебя программистом если умеешь что-нибудь. Что ты умеешь?
Аноним 23/05/22 Пнд 02:08:34 #1099 №2361520 
>>2361484
Вышивать могу, и на машинке шить.
Аноним 23/05/22 Пнд 02:20:41 #1100 №2361524 
>>2361520
бан
Аноним 23/05/22 Пнд 02:21:41 #1101 №2361525 
>>2361524
За що?
Аноним 23/05/22 Пнд 02:22:54 #1102 №2361526 
>>2361525
за траллинг тупостью
Аноним 23/05/22 Пнд 02:26:14 #1103 №2361528 
>>2361526
Не бубни
Аноним 23/05/22 Пнд 02:42:50 #1104 №2361533 
>>2361528
Админ бань его. Заранее спасибо.
Аноним 23/05/22 Пнд 07:21:30 #1105 №2361554 
>>2361520
А примус починять?
Аноним 23/05/22 Пнд 11:43:16 #1106 №2361634 
>>2350989
это крестовый, а не переможный тред, мыкола.
Минус три мивины.
Аноним 23/05/22 Пнд 15:34:59 #1107 №2361761 
изображение.png
Как в QT задать время ожидания ответа на http запрос? Пока что написал пик, в целом работает, но как-то всрато. Пришлось родить целых две новых сущности (QTimer и QEventLoop)
Аноним 23/05/22 Пнд 15:41:56 #1108 №2361771 
>>2361634
Сильно же тебя это задело
Аноним 23/05/22 Пнд 16:26:21 #1109 №2361813 
image.png
>>2361761
Во-первых пикрел,

>QEventLoop
Лолщто, зачем это? У тебя ивентлуп крутится в QCoreApplication::exec уже.
Надо делать коннект на QNetworkReply::finished и в обработчике слота уже вытягивать данные. А ты какую-то синхронщину ебашиш

Салтовка-кум
Аноним 23/05/22 Пнд 16:36:01 #1110 №2361825 
>>2361813
> Лолщто, зачем это?
Для ожидания же. Как sleep, только система по прежнему обрабатывает сигналы.
> Надо делать коннект на QNetworkReply::finished и в обработчике слота уже вытягивать данные
Надо, но я хз как. У меня все это дело в классе. Я вызываю метод с того пика для получения данных, так что он должен вернуть какое-то значение. Поэтому отдельный слот тут никак не вставить.
Аноним 23/05/22 Пнд 16:55:45 #1111 №2361853 
>>2361825
connect(reply, &QNetworkReply::finished, this, [this, reply]()
{
reply->deleteLater();
auto data = reply->readAll();

/// ........
});
Аноним 23/05/22 Пнд 17:40:21 #1112 №2361909 
>>2361853
Пока этот сигнал сработает, функция уже выполнится. Ну или я не понял, куда ты предлагаешь его вставить.
Аноним 23/05/22 Пнд 17:52:38 #1113 №2361933 
>>2361909
>Пока этот сигнал сработает, функция уже выполнится.
Ну да. Т.е. программа может заниматься другими полезными вещами
Аноним 23/05/22 Пнд 21:25:35 #1114 №2362074 
Как же хочется вкатиться...
Аноним 23/05/22 Пнд 23:08:19 #1115 №2362129 
Почему размер void⚹ = 8 байт?
Аноним 23/05/22 Пнд 23:29:34 #1116 №2362131 
>>2362129
void⚹ это указатель. А указатель это адрес в памяти. А адрес в памяти это целое беззнаковое число от 0 до 2 ^ (разрядность системы) - 1. 8 байт = 64 бита и как раз позволяет закодировать весь диапазон адресов. В 32 разрядной системе void⚹ будет 4 байта.
Аноним 24/05/22 Втр 13:21:11 #1117 №2362297 
rage-canadian-l.png
hqdefault.jpg
Здорова педики, вопрос к шарящим.
Как правильно организовать ебучий cmakelists? Вот есть проект, он хочет залинковаться на либу, лежащую на том же уровне что и он. Как это по-человечески сделать?
Аноним 24/05/22 Втр 15:23:13 #1118 №2362352 
Я правильно понимаю, что для создания красивого модного интерфейса в qt мне придётся использовать qt quick?
Аноним 24/05/22 Втр 15:29:01 #1119 №2362357 
Можно ли сделать шаблонную функцию вида?
template<typename T>
T test(int n)
{
return 42;
}
test(55);
Если в параметрах указать T то всё компилируется, а реально ли сделать без неё, как в примере?
Аноним 24/05/22 Втр 15:54:16 #1120 №2362371 
>>2345617 (OP)
Тут есть программисты микроконтроллеров? Хочу уйти из АСУТП к вам. На каком уровне крестов можно начинать открывать headhunter? На младшие позиции, естественно.
Аноним 24/05/22 Втр 16:26:13 #1121 №2362397 
>>2362352
Можно и на виджетах, но жопоболи будет на порядок больше.
Аноним 24/05/22 Втр 16:29:04 #1122 №2362398 
>>2362357
В таком виде он не может вывести тип. Вот test(T n) должно прокатить.
Аноним 24/05/22 Втр 16:59:51 #1123 №2362434 
>>2362398
Ясно, просто не хочется передавать в функцию переменную только для определения. А что-нибудь подобное сделать можно?
template<typename T>
T testfunc(int n, T t)
{
int num = 5;
std::string str = "ABC";
if (1)
{
return num;
}
else
{
return str;
}
}
Аноним 24/05/22 Втр 17:12:29 #1124 №2362438 
>>2362371
C thread is two blocks down
Аноним 24/05/22 Втр 17:41:45 #1125 №2362450 
>>2362434
Можно из с++ жопаскрипт сделать, но зачем?

Выше по треду уже писали про variant, union и void⚹ в качестве возвращаемого значения.

using result_t = std::variant<int, std::string>;
result_t func(int i) {
result_t res;
(i > 0) ? res = i : res = std::to_string(i);
return res;
}

auto res = func(42);
auto val = std::get<int>(res);
auto str = std::get<std::string>(res);

get кидает исключение, если тип не соответствует фактически хранимому значению (есть get_if и проверки - смотри доки).
Аноним 24/05/22 Втр 18:18:37 #1126 №2362468 
>>2362450
Все эти variant где+то кроме говнокода применяются?
Аноним 24/05/22 Втр 18:36:47 #1127 №2362489 
>>2362468
Наговнокодил тебе в штаньі
Аноним 24/05/22 Втр 18:39:22 #1128 №2362491 
>>2362489
Хрюкни
Аноним 24/05/22 Втр 18:44:18 #1129 №2362494 
Обновил qt, с удивлением узнал, что некоторые используемые функции были выпилены. Зачем так делать? Чем они мешали? Почему я должен перелопачивать код после перехода на новую версию?
Аноним 24/05/22 Втр 18:54:54 #1130 №2362504 
>>2362494
>Обновил qt, с удивлением узнал, что некоторые используемые функции были выпилены.
>Что такое мажорная версия?

Обновил Qt5->Qt6?
Аноним 24/05/22 Втр 18:54:59 #1131 №2362505 
>>2362494
Какие?
Аноним 24/05/22 Втр 18:56:57 #1132 №2362507 
>>2362504
> Обновил Qt5->Qt6?
Да
> Что такое мажорная версия?
Из крестов же ничего не выпиливают, только настоятельно советуют не использовать, если было совсем непотребство.
Аноним 24/05/22 Втр 18:58:31 #1133 №2362509 
>>2362505
Ну например setCodec из qtextstream
Аноним 24/05/22 Втр 18:59:02 #1134 №2362510 
>>2362507
>Из крестов же ничего не выпиливают
Как там с std::auto_ptr?
Аноним 24/05/22 Втр 19:03:38 #1135 №2362513 
>>2362510
Хах, когда писал пост как раз держал этот пример в голове, мол заменили, но не удалили, а оказалось в 17 версии таки выпилили. Но все же это буквально единичные случаи.
Аноним 24/05/22 Втр 19:05:06 #1136 №2362517 
>>2362513
Этот единичный случай насрал очень сильно в одном проекте
Аноним 24/05/22 Втр 19:36:28 #1137 №2362540 
>>2362517
Каком?
Аноним 24/05/22 Втр 19:37:43 #1138 №2362543 
Давно не программировал на C++
Не подскажете, почему у меня русский текст не печатается?
std::wstring str1(L"Жил был пёс.");
std::wcout << str1 << std::endl;
Аноним 24/05/22 Втр 19:42:21 #1139 №2362546 
>>2362543
Потому что хз какие кодировки у тебя в консоли и в программе.
Аноним 24/05/22 Втр 19:46:49 #1140 №2362551 
>>2362546
Если я всё правильно понимаю, то в консоли и текстовом файле стоит UTF-8.
Аноним 24/05/22 Втр 19:48:57 #1141 №2362553 
>>2362551
А ты не понимай, а установи кодировку сам.
Chcp 65001
Аноним 24/05/22 Втр 20:14:58 #1142 №2362570 
>>2362553
Не работает.
Аноним 24/05/22 Втр 20:32:57 #1143 №2362586 
>>2362551
Если винда, то utf16 например. Лучше выведи в файл и открой редактором где можно пощелкать кодировками .
Аноним 24/05/22 Втр 20:48:37 #1144 №2362601 
>>2362586
>Если винда,
У меня не винда,
>пощелкать кодировками .
Ничего не меняется.

В общем странная фигня, если перед wcout вывести обычный текст, то текст выведется транслитом (на сайте вместо транслита знаки вопроса):
cpp.sh/3psus
cpp.sh/35bkx
Аноним 24/05/22 Втр 21:08:44 #1145 №2362610 
>>2362450
>Можно из с++ жопаскрипт сделать, но зачем?
Есть библиотека при получении значения она выдает результат и можно запросить его тип (число, строка) моя задача написать функцию универсальную для запроса числа и строки. Реализация за исключением нескольких строк одинаковая. Писать две разные функции которые содержат почти одинаковый код не хорошая идея.
Аноним 24/05/22 Втр 21:20:35 #1146 №2362622 
>>2362468
union в коде на C встречается. Там нет наследования или полиморфизма и поэтому убогие пишут вот такое (чтобы распарсить сообщение, пришедшее от железки):
union {
struct {} __(packed)__ header_base;
struct {} __(packed)__ header_type1;
struct {} __(packed)__ header_type2;
}
или для работы с указателями:
union {
void⚹;
base_class⚹;
child_1⚹;
child_2⚹;
}
В с++ всё это особо не нужно. Ну а varaint вообще редкость. Слишком громоздкий и без задач.
Аноним 24/05/22 Втр 21:28:53 #1147 №2362627 
>>2362601
>У меня не винда,
Линух? Попробуй обычный string и cout.
Аноним 24/05/22 Втр 22:43:24 #1148 №2362673 
>>2362622
в крестах для union все же осталось одно применение, а именно когда нужно заглянуть внутрь примитивных типов
Аноним 24/05/22 Втр 22:50:13 #1149 №2362677 
>>2362673
> в крестах для union все же осталось одно применение, а именно когда нужно получить UB
Пофиксил.
Аноним 24/05/22 Втр 23:00:14 #1150 №2362680 
>>2362677
Волков боятся - в лес не ходить.
Аноним 24/05/22 Втр 23:20:42 #1151 №2362694 
>>2362677
implementation defined != UB
Аноним 24/05/22 Втр 23:29:54 #1152 №2362701 
перекатите немедленно
Аноним 24/05/22 Втр 23:37:42 #1153 №2362710 
>>2362701
Перекати.
Аноним 24/05/22 Втр 23:39:39 #1154 №2362713 
Проконсультируйте или как загуглить про такой механизм:
Приложение работает следующим образом: есть сервер который отправляет какие то данные, которые нужно обработать, делает он это не часто, но обработка занимает много процессорного времени, а само приложение должно работать параллельно с этим обработчиком. Создавать тред в классе с бесконечным циклом в ожидании данных плохая же идея? Это вообще можно при помощи стандартной либы как то сделать?
Аноним 25/05/22 Срд 00:00:35 #1155 №2362728 
>>2362713
boost::asio
Аноним 25/05/22 Срд 00:14:27 #1156 №2362734 
>>2362713
Для асинхронного выполнения тебе нужен std::future в качестве результата и нечто, что будет работать асинхронно - std::async или std::thread t(callable, args).detach() в паре с packaged_task или promise.
Аноним 25/05/22 Срд 11:18:44 #1157 №2362912 
15640323477300.jpg
>>2362297
symlink
Аноним 25/05/22 Срд 11:42:42 #1158 №2362921 
1653468158676.jpg
1653468158699.jpg
1653468158713.jpg
1653468158726.jpg
Было бы здорово добавить эту годноту в шапку. Лучший материал по cmake на русском из всех, что я видел.
https://libgen.rocks/ads.php?md5=FD03DB39EE5F06D2CA025601BBCB9A16
Аноним 25/05/22 Срд 11:57:01 #1159 №2362924 
>>2362921
Зарепортил за саморекламу
Аноним 25/05/22 Срд 15:55:14 #1160 №2363078 
>>2362713
>Создавать тред в классе
Аноним 25/05/22 Срд 16:21:38 #1161 №2363097 
>>2362713
если отвечать формально на вопрос, то возможно тебе придется задействовать асинхронный ввод вывод, поэтому только при помощи стандартной библиотеки это сделать не получиться, придется использовать либо средства предлагаемые операционной системой, либо кроссплатформеные библиотеки
Аноним 25/05/22 Срд 16:37:17 #1162 №2363109 
>>2363078
А чё такого если инстанс глобального времени жизни?
Аноним 25/05/22 Срд 21:50:19 #1163 №2363407 
>>2362517
>s/auto_ptr/unique_ptr/g
>добавляешь std::move, где компилятор ругается
И никаких проблем. А у тебя что приключилось? inb4 старая либа без исходинков возвращала их в апишке
Аноним 25/05/22 Срд 21:51:56 #1164 №2363408 
>>2362673
Наконец-то завезли православный bit_cast для такого
Аноним 25/05/22 Срд 23:20:34 #1165 №2363468 
Как вкотиться в маш. зрение?
Аноним 25/05/22 Срд 23:53:34 #1166 №2363484 
Классы A и B таковы, что B при конструировании просит ссылку на экземпляр A. Хочу создать пару A, B, но не могу. Есть решения? Я думал, думал, но не придумал
Аноним 26/05/22 Чтв 00:00:04 #1167 №2363486 
>>2363468
Читать книжки, учить математику в вузике. Освоить Python.
Аноним 26/05/22 Чтв 00:02:00 #1168 №2363489 
>>2363486
Питон я знаю, для чего-нибудь серьёзного он в любом случае не катит.
Аноним 26/05/22 Чтв 00:08:27 #1169 №2363493 
>>2363489
Довольно много ML/CV кода написано на Python. И считай он нужен банально для чтения и изучения примеров (как английский для чтения документации).
Аноним 26/05/22 Чтв 00:10:34 #1170 №2363494 
>>2363493
Да я не спорю, что на нём дохера всего написано. Суть в том, что в риалтайме такое всё равно не поюзаешь.
Аноним 26/05/22 Чтв 00:21:22 #1171 №2363501 
>>2363494
Ну ты не с того конца заходишь. Язык это только инструмент и не более.
Сначала глянь насколько хорошо пойдёт сама тематика. Есть книжка от Szeliski (быстро гуглится). Она довольно много аспектов CV затрагивает (и про особенности нашего зрения и про цифровые камеры и про алгоритмы - сегментация/классификация/выделение особенностей/трекинг и ещё докучи). Полистай по диагонали и посмотри как оно вообще. Матана там ояебу конечно, но куда ж без него.
Аноним 26/05/22 Чтв 00:21:40 #1172 №2363502 
>>2363486
A a;
B b(a);
Аноним 26/05/22 Чтв 00:34:27 #1173 №2363511 
>>2363501
>Szeliski
Вот это годный контент, спасибо. Ушёл курить. Превозмогать придётся, робототехника сама себя не освоит.
Аноним 26/05/22 Чтв 00:36:03 #1174 №2363513 
>>2363484
struct A {};
struct B {
A& ref_a;
B(A& a) : ref_a(a) {}
}
A a;
B b(a);
std::amke_pair(a, B(a));

Ссылки инициализируются в конструкторе. Но не в теле, а в списке после : .
Аноним 26/05/22 Чтв 01:01:35 #1175 №2363532 
>>2363513
Вот только у тебя b из пары ссылается на а вне пары. А вопрос наверно был как создать пару аb, где у .second ccылка на .first
Аноним 26/05/22 Чтв 01:02:52 #1176 №2363533 
>>2363532
Да, вопрос ровно такой
Аноним 26/05/22 Чтв 01:05:33 #1177 №2363535 
>>2363533
Ну это С++, так что РЕШЕНИЕ ЕСТЬ ВСЕГДА. Но не всегда оно тебе понравится..

https://godbolt.org/z/E9h1aPf3s
Аноним 26/05/22 Чтв 01:07:52 #1178 №2363537 
Как понять почему cin падает? У меня прога юзает асинхронные операции с бустом и почему то после их использования cin падает при попытке чтения.
Аноним 26/05/22 Чтв 01:08:18 #1179 №2363539 
>>2363535
>РЕШЕНИЕ ЕСТЬ ВСЕГДА
В чём смысл жизни?
Аноним 26/05/22 Чтв 01:09:41 #1180 №2363540 
>>2363539
Зависит от имплементации. В гцц просто вызови __builtin_life_meaning() и узнаешь.
Аноним 26/05/22 Чтв 01:09:45 #1181 №2363541 
>>2363539
void⚹
Аноним 26/05/22 Чтв 01:29:35 #1182 №2363547 
Сука, я рот его топал. Буст просто не кидает исключение если порт занят, хотя раньше кидал. Что изменилось? Я и 443 порт писал, и 1, и 10. Просто ничего не происходит
Аноним 26/05/22 Чтв 01:36:22 #1183 №2363549 
>>2363547
Я писал и acceptor_(io_context, tcp::endpoint(tcp::v4(), port), false) и true, нет разницы
Аноним 26/05/22 Чтв 01:40:36 #1184 №2363550 
>>2363535
В голос с этой хуйни
Аноним 26/05/22 Чтв 01:44:03 #1185 №2363551 
>>2363549
А, соре. Я дурак. Мне просто очень везло на свободные порты. И я думал, что маленькие нельзя выбирать, а оказалось можно
Аноним 26/05/22 Чтв 01:54:42 #1186 №2363553 
>>2363537
Причем если соединение не удалось, тогда cin падает. Как это дебажить?
Аноним 26/05/22 Чтв 01:55:40 #1187 №2363554 
>>2363553
А, лол. Это не cin падает. Странно. Забавно получалось, но ошибка выскакивала именно там.
Аноним 26/05/22 Чтв 16:53:29 #1188 №2364047 
Стек или очередь?
Аноним 26/05/22 Чтв 16:57:45 #1189 №2364049 
В чём подводные использования/написания своих header-only либ?
Аноним 26/05/22 Чтв 16:59:10 #1190 №2364051 
>>2364047
Да.
Аноним 26/05/22 Чтв 16:59:18 #1191 №2364052 
>>2364047
Дерево отрезков или система непересекающихся множеств?
Аноним 26/05/22 Чтв 17:09:26 #1192 №2364062 
>>2364051
Пизда
>>2364052
Множество элементов с которого на каждой итерации нужно снимать исключительно пенку
Аноним 26/05/22 Чтв 17:27:44 #1193 №2364073 
Как создать инструкцию с внутренней логикой и оборачивающую код? Т.е. что-то вроде for, while, try-catch.
Аноним 26/05/22 Чтв 17:52:35 #1194 №2364089 
>>2364073
Ты про макросы?
Аноним 26/05/22 Чтв 18:18:10 #1195 №2364103 
>>2364089
Нет, мне нужна собственная конструкция вида
do {
...
} then {
...
}
Аноним 26/05/22 Чтв 19:38:40 #1196 №2364167 
>>2364073
Написать свой язык. Ну или макросы. Ключевые слова на то и ключевые что являются частью языка.
Аноним 26/05/22 Чтв 19:41:20 #1197 №2364173 
>>2364167
Так плюсы же умеют всё. Вот и скажите мне как это сделать.
Аноним 26/05/22 Чтв 19:55:52 #1198 №2364187 
>>2364173
Плюсы не умеют всё, тебе соврали.
Аноним 26/05/22 Чтв 19:57:42 #1199 №2364188 
>>2364187
А чего плюсы не умеют?
Аноним 26/05/22 Чтв 20:02:22 #1200 №2364191 
>>2364188
Создавать ключевые слова.
Аноним 26/05/22 Чтв 20:04:33 #1201 №2364192 
>>2364191
А тяночку могут помочь найти?
Аноним 26/05/22 Чтв 20:06:16 #1202 №2364194 
>>2364192
Косвенно.
Аноним 26/05/22 Чтв 20:07:07 #1203 №2364195 
>>2364194
Это как?
Аноним 26/05/22 Чтв 20:24:03 #1204 №2364201 
>>2364195
В доках посмотри.
https://www.cplusplus.com/reference/
Аноним 26/05/22 Чтв 20:26:18 #1205 №2364203 
image.png
>>2364201
4ever alone(9
Аноним 26/05/22 Чтв 20:29:26 #1206 №2364206 
>>2364203
Чё за Tyan нахуй? Chan блять.
Аноним 26/05/22 Чтв 20:40:13 #1207 №2364216 
>>2364206
Тоже ничего
Аноним 26/05/22 Чтв 21:11:12 #1208 №2364227 
>>2362734
нах этот кал когда корутинки завезли уже? корутинки с https://github.com/facebook/folly/blob/main/folly/experimental/coro/README.md и погнал
Аноним 26/05/22 Чтв 21:12:35 #1209 №2364228 
>>2364227
>facebook
Аноним 26/05/22 Чтв 21:26:42 #1210 №2364234 
>>2364228
Чо facebook?
Аноним 26/05/22 Чтв 21:30:18 #1211 №2364235 
image.png
>>2364234
Corpos are bad
Аноним 26/05/22 Чтв 21:30:35 #1212 №2364236 
Тут уже спрашивали что то подобное, но там речь шла про наследников и variant, а у меня не наследники, а variant выглядит избыточным. Суть следующая: нужен десереализатор который получит на вход указатель на данные, а вернет объект. Но вот незадача: объекты разных типо и между собой не связаны. Вариант возвращать void указатель на объект и пометочку о типе, а потом кастовать выглядит гиперопасным.
Аноним 26/05/22 Чтв 21:37:48 #1213 №2364239 
>>2364227
>c++ 20, не кал, слышите.
Чел, я педалю cv под эмбед и нам это ещё не скоро завезут в нормальном, рабочем состоянии. Для корутин есть пихонг.
Аноним 26/05/22 Чтв 21:42:51 #1214 №2364242 
>>2364234
фейсбук топ
Аноним 26/05/22 Чтв 21:46:09 #1215 №2364244 
>>2364236
а чего variant избыточен? он как раз для таких целей
Аноним 26/05/22 Чтв 21:49:24 #1216 №2364246 
>>2364239
земля пухом
Аноним 26/05/22 Чтв 23:37:49 #1217 №2364302 
Посоветуйте, пожалуйста комплятор на с\с++ под винду только чтобы он лёгкий был, быстрая установка быстрый запуск типа как текстовый редактор. А то я не хочу визуалку ставить она тяжёлая, много лишнего и т.д.
Аноним 27/05/22 Птн 00:07:00 #1218 №2364315 
>>2364302
Раз твой вопрос пробил дно, сразу посоветую Dev C++
Аноним 27/05/22 Птн 00:12:42 #1219 №2364318 
>>2364315
спасибо большое
Аноним 27/05/22 Птн 00:51:56 #1220 №2364341 
>>2364315
годно, а то мой ноутбучок надрывался прямо под визуалкой. а тут можно спокойно и на двощах параллеьно сидеть.
Аноним 27/05/22 Птн 00:53:30 #1221 №2364344 
>>2364341
Желаю тебе однажды открыть для себя генту с вимом.
Аноним 27/05/22 Птн 00:56:17 #1222 №2364346 
>>2364344
Мерси, ещё раз. Но мне даже арч с трудом собрать по гайду какой там генту
Аноним 27/05/22 Птн 00:57:23 #1223 №2364347 
>>2364346
./arch-install.py -> Enter -> Enter -> Enter
Тяжелоооо...
Аноним 27/05/22 Птн 10:33:51 #1224 №2364466 
>>2363535
> ((ab_t*)mem)->first
UB
Аноним 27/05/22 Птн 12:56:50 #1225 №2364589 
>>2363407
>s/auto_ptr/unique_ptr/g
Авотнихуя

>И никаких проблем. А у тебя что приключилось? inb4 старая либа без исходинков возвращала их в апишке
Старый цомпилятор не знал про unique_ptr (одна параше платформа), а новый - про auto_ptr (шланг на макоси).
Аноним 27/05/22 Птн 12:59:58 #1226 №2364593 
>>2364206
>Чё за Tyan нахуй? Chan блять.
Что за chan нахуй? ちゃん блядь.
Аноним 27/05/22 Птн 16:09:09 #1227 №2364823 
>>2363511
>робототехника сама себя не освоит
да конечно, штрафокамеры будешь ставить простому люду
Аноним 27/05/22 Птн 17:41:39 #1228 №2364947 
>>2364823
Та не, там ещё картография, медицина, дефектоскопия. Не обязательно слабовички и охранка.
Аноним 27/05/22 Птн 17:45:24 #1229 №2364948 
>>2364593
> Что за chan нахуй? ちゃん блядь.
Что за ちゃん нахуй? 嬢 блять.
Аноним 27/05/22 Птн 18:02:36 #1230 №2364955 
>>2364947
Все твои наработки в любом случае будут использоваться для таких задач.
Аноним 27/05/22 Птн 18:08:27 #1231 №2364959 
>>2364955
Ладно, пойду тогда шлюзы для криптобиржи писать, HFT и сервисы для наёбки гоев на деньги.
Аноним 27/05/22 Птн 18:26:31 #1232 №2364971 
2022-04-08-mixnews-comment-21.jpg
>>2364955
А ещё они едят, поэтому фермеры тоже их на самом деле поддерживают.
Аноним 28/05/22 Суб 00:38:55 #1233 №2365181 
Помогите, пожалуйста.
У меня программа в которой создаётся множество объектов одного класса и их данные загружаются из базы данных расположенной на жёстком диске при запуске программы.

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

Но я не понимаю как это реализовать автоматически? Допустим у меня 157 объектов и как их программно именовать? a1, a2, a3... черзе шаблоны чтоли это делать? Или как? Опытные люди помогите, пожалуйста, как делаются подобные вещи.
Аноним 28/05/22 Суб 00:45:09 #1234 №2365184 
4444.png
>>2365181
вот так. я диаграмму нарисовал что я хочу чтобы вам проще было понять. я не понимаю как присваивать имена объектам которых множество и т.д.
Аноним 28/05/22 Суб 01:07:48 #1235 №2365188 
>>2365184
>>2365181
может массив объектов какой сделать?
Аноним 28/05/22 Суб 01:08:45 #1236 №2365189 
>>2365188
типа записывать объекты в массив после записи каждого добавлять к индексу +1 и так пока база данных не закончится, а их номера в массиве и будут id идентификационными...

как бы это элегантно сделать
Аноним 28/05/22 Суб 06:42:59 #1237 №2365219 
>>2365181
Ты докуда учебник успел прочитать?)
Тебе нужен обычный вектор. Ну или мэп если в приоритете поиск по имени например. В общем разбирайся со стандартными контейнерами.
Аноним 28/05/22 Суб 11:39:17 #1238 №2365317 
>>2365189
Использовать List
Аноним 28/05/22 Суб 11:52:23 #1239 №2365329 
>>2365219
>вектор
ну и я уже начал подозревать что массив. создать вектор классов. спасибо огромное, анон.

да я читал целиком его, оригинал от страуструпа все 1000 с лишним страниц пол года читал, но было это года 3-4 назад и я после этого не писал на плюсах, только на си. а щас нужны классы замахнулся на высокую программу.

>>2365317
благодарю. если с вектором не пойдёт рассмотрю list.

спасибо вам
Аноним 28/05/22 Суб 11:55:15 #1240 №2365335 
>>2365219
>>2365317
А можно ещё к вам вопрос. А какую базу данных лучше использовать для автономной программы на с++? Ну чтобы полегче там была. SQL или что-нибудь другое может есть получше что для этого подходит?
Аноним 28/05/22 Суб 12:09:21 #1241 №2365348 
>>2365335
А что тебе хранить надо? Может json хватит.
Аноним 28/05/22 Суб 12:14:49 #1242 №2365353 
>>2365335
>А какую базу данных лучше использовать для автономной программы на с++?
0. SQLite
1. если хочешь выебнуться - dbm и его разновидности
Аноним 28/05/22 Суб 12:24:46 #1243 №2365363 
>>2365348
Программа работает со множеством объектов одного класса и нужно хранить их данные в базе данных чтобы прии запуске программы загружать их с жёсткого диска в озу, а затем при выходе сохранять их из озу назад в базу данных

>>2365353
спасибо, тогда наверное sqlite рассмотрю к тому же уже работал как-то с ними
Аноним 28/05/22 Суб 13:18:52 #1244 №2365387 
А это можно имена перменных вот с такими пробелами писать? variable_name?
Аноним 28/05/22 Суб 13:43:31 #1245 №2365405 
>>2364244
Ок, спс
Аноним 28/05/22 Суб 13:45:33 #1246 №2365408 
>>2365387
Можно. Только старайся использовать один стиль именования, а не смешивать все сразу.
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#nl8-use-a-consistent-naming-style
Аноним 28/05/22 Суб 13:51:49 #1247 №2365416 
У меня есть вектор, который хранит указатели на объекты. Вектор должен сохраняться между запусками, а еще он может разростись, поэтому хранить его полностью в оперативке нельзя. А еще он может содержать указатели на огромные объекты - файлы, которые моей программой даже не открываются. Можно ли как то кусок вектора на диск записать, а когда надо доставать обратно? И сложно ли это делать? Могу ли я пока что забить хуй, а потом эту возможность добавить? Или всё таки надо об этом скйчас думать?
Аноним 28/05/22 Суб 13:57:33 #1248 №2365427 
>>2365416
Я конечно могу написать свою обёртку, которая по запросу будет файл на диск сбрасывать и куски подгружать, но выглядит довольно муторной задачей
Аноним 28/05/22 Суб 13:59:58 #1249 №2365431 
>>2365408
спасибо, понял. в рамках проекта буду так и делать

>>2365416
лел, не один я такой ньюфаня
Аноним 28/05/22 Суб 14:01:29 #1250 №2365434 
>>2365416
Тебе нужен полноценный storage layer, думать об этом надо уже сейчас, когда вытаскивать данные с диска и когда сбрасывать их обратно
Аноним 28/05/22 Суб 14:22:16 #1251 №2365462 
>>2365416
Тебе нужен кеширующий провайдер данных. Пока можешь накатать его интерфейс, а в имплементации использовать вектор, ну а потом сделать как надо будет.
Аноним 28/05/22 Суб 16:04:36 #1252 №2365529 
>>2365416
>хранит указатели на объекты
>сохраняться между запусками
>может разростись
>хранить его полностью в оперативке нельзя
>указатели на огромные объекты
>Можно ли как то кусок вектора на диск записать, а когда надо доставать обратно?
Маппинг+обертка кучей вокруг куска памяти.
Аноним 28/05/22 Суб 16:12:04 #1253 №2365531 
Кто в изображениях разбирается, в кутах есть такая функция QPixmap::loadFromData, где она берет массив чаров. Так что
это за массив? Это просто буфер где хранятся цвета каждого пикселя? Или этот буфер хранит еще всякую инфу типа размера изображения, метадаты?
Аноним 28/05/22 Суб 16:16:42 #1254 №2365532 
>>2365531
Так может ты глянешь документацию? У Qt она очень хорошая.
Аноним 28/05/22 Суб 16:19:15 #1255 №2365535 
>>2365531
https://doc.qt.io/qt-5/qpixmap.html#loadFromData
Аноним 28/05/22 Суб 16:28:31 #1256 №2365545 
>>2365532
А ты думаешь откуда я это взял и уточняющие вопросы написал? Я прочитал, но не понял
Аноним 28/05/22 Суб 16:36:44 #1257 №2365561 
>>2365531
Это просто файл загруженный в память.
Аноним 28/05/22 Суб 16:39:30 #1258 №2365564 
Там же специально про формат написано, чего ты взял что это просто буфер с пикселями?
Аноним 28/05/22 Суб 17:44:06 #1259 №2365626 
>>2365531
>the loader probes the file for a header to guess the file format
Это файл (jpg, png, ...), загруженный в оперативку в виде массива data.
Аноним 28/05/22 Суб 23:03:10 #1260 №2365908 
Сап плюсач появилось два вопроса касательно использования std::thread в системах с несколькими CPU:
1) первый и самый важный - что вернёт std::thread::hardware_concurrency в системе с 2 CPU (допустим, у каждого CPU 16 ядер и 32 потока)? По идее, на том же cppreference говорится, что функция вернёт число всех поддерживаемых потоков, то есть для такой системы она должна вернуть 64. Вообще интересно почитать, что сам стандарт регламентирует в таких случаях
2) насколько мне известно, если создать все 64 потока из прошлого примера, то планировщик в ОС сам раскидает потоки между CPU. Однако я знаю, что планировщик в ОС может распределить эти потоки неравномерно между CPU, а также между ядрами конкретного CPU (банально из-за алгоритма регулирования температуры, расположения кэшей, etc). Однако эта проблема решается использованием affinity mask ( https://en.wikipedia.org/wiki/Processor_affinity ). То есть чисто технически при создании потоков я могу закрепить их к определённому CPU (32 на первый и 32 на второй), но только с помощью механизмов Windows API или линуха. В <thread> нет ничего для работы с этой маской? И как вообще стандарт на неё ссылается (если ссылается)?
Аноним 29/05/22 Вск 10:51:16 #1261 №2366145 
>>2365908
>что вернёт std::thread::hardware_concurrency в системе с 2 CPU
Самый простой способ - посмотреть исходники стандартной бибилиотеки, благо даже у мелкософта она открыта.
https://github.com/gcc-mirror/gcc/blob/master/libstdc%2B%2B-v3/src/c%2B%2B11/thread.cc#L190
>int __n = _GLIBCXX_NPROCS; ,
где _GLIBCXX_NPROCS - макрос, вызывающий одну из кучи функций
И все они, судя по мануалам, возвращают полное число потоков из всех цпу.

>В <thread> нет ничего для работы с этой маской?
Не припомню такого. Но всегда можно вызвать std::thread::native_handle и работать с системными апи.

Аноним 29/05/22 Вск 11:01:16 #1262 №2366152 
Почему нельзя скопировать вектор интов в вектор лонгов?
Аноним 29/05/22 Вск 11:25:18 #1263 №2366165 
>>2366152
Потому что это разные типы данных?
Аноним 29/05/22 Вск 11:28:26 #1264 №2366167 
>>2366152
Потому что ты под линуксом.
Аноним 29/05/22 Вск 11:40:21 #1265 №2366173 
Вернее под линуксом на х86-64
Аноним 29/05/22 Вск 17:06:21 #1266 №2366470 
Посоветуйте гайдов по gdb
Аноним 29/05/22 Вск 22:53:19 #1267 №2366725 
image.png
>>2345617 (OP)
аноны, как на с++ подключать инклюды ? или почему у меня эти ошибки, за плюсы вообще не шарю
Аноним 29/05/22 Вск 23:44:28 #1268 №2366749 
>>2366725
в другом разделе сказали мфс пакеты скачать
Аноним 30/05/22 Пнд 01:45:57 #1269 №2366794 
С чего начать свой путь в коммерции? Ясное дело, многого не знаю, но уже чувствую что петами сыт не будешь. В целом и шаблоны пишу, и с абстрактными классами наебался, поинтеры-аллокаторы, мультипоток копал, с бустом игрался. Qt не зашёл. Можно куда-нибудь с нынешним стеком податься чтобы уже боевой опыт зарабатывать? Язык пиздатый, а чего хочу от него - пока только в собственных проектах и отображается. Я бы вкатился наверное в нейронки/зрение, да это опять минимум несколько месяцев учёбы, дрочения примеров.
Аноним 30/05/22 Пнд 11:13:47 #1270 №2366928 
>>2366794
>В целом и шаблоны пишу, и с абстрактными классами наебался, поинтеры-аллокаторы, мультипоток копал, с бустом игрался. Qt не зашёл.
>С чего начать свой путь в коммерции?
С приношения денег кабанчикам, каким образом твои навыки могут принести ему денег?
Аноним 30/05/22 Пнд 11:22:57 #1271 №2366955 
>>2366928
> каким образом твои навыки могут принести ему денег?
Ну я могу отсосать ему. Тоже не то?
Аноним 30/05/22 Пнд 12:35:25 #1272 №2367009 
>>2366794
Всем нужен опыт и конкретные навыки, те не с бустом поигрался, а я могу сделать то то и то то.
Ну и да, никому ты не нужен, мужик. Вкатусю на плюсах видеть никто не хочет, это слишком кринж, тем более в этой стране
Аноним 30/05/22 Пнд 17:08:36 #1273 №2367223 
>>2366794
>вкатился наверное в нейронки/зрение
Открываешь хехе.ру, вводишь там c++, потом вводишь c++ && machine learning. Получаешь <5% от общего числа вакансий. Затем убираешь оттуда senior, lead, knowledge of c++ is a plus, huawei/samsung/etc и в итоге идёшь в НИИ клепать аналоговнеты под линукс для stm32.
Аноним 30/05/22 Пнд 19:36:56 #1274 №2367377 
>>2367223
в нии норм работать, если есть хата от бабки доставшаяся, и не планируешь заводить семью (остаться девственником), на покушать будет хватать денежек
Аноним 30/05/22 Пнд 20:09:27 #1275 №2367399 
Так, я чет не понял. Такая операция:
std::vector a = b;
bool copied = true;
Может выполниться не последовательно?
Аноним 30/05/22 Пнд 20:14:04 #1276 №2367404 
>>2367399
Нет.
Аноним 30/05/22 Пнд 20:54:08 #1277 №2367454 
>>2367399
Конечно. На современных ЦП инструкции обращения к памяти могут начать выполняться одновременно, но вторая может выполниться раньше первой, если кэш-мисс или просто долгая инструкция. Естественно ты в одном потоке не сможешь увидеть эффект от такого, ЦП не станет выполнять одновременно инструкции, если есть рядом зависимая инструкция от того участка памяти. Но вот из другого потока реально запалить это. Гугли про memory order, чтоб понимать что за relaxed-память и чем отличается поведение strongly-ordered от weak-ordered архитектур.
Но в твоём случае если чекнешь copied==true в другом потоке, то уже скорее всего не успеешь поймать такое. В стандартной библиотеке, кстати, разрешены такие проёбы в порядке выполнения и это даже не UB, потому что надо std::atomic юзать вместо простого обращения к памяти. Например std::latch умеет в такие фокусы, но шансы поймать это очень низкие, хоть и не нулевые.
Аноним 30/05/22 Пнд 21:11:56 #1278 №2367477 
Qt creator крашнулся. Сука.
Аноним 30/05/22 Пнд 22:09:09 #1279 №2367530 
>>2367377
Имея хату от бабки сложно остаться девственником.
Аноним 30/05/22 Пнд 22:14:21 #1280 №2367538 
>>2367399
Конпелятор может переставить во время оптимизации или вообще убрать то, что посчитает не нужным.
Аноним 30/05/22 Пнд 23:50:53 #1281 №2367603 
>>2367597
А если я из Донецка? Я норм, отвечаю.
Аноним 31/05/22 Втр 00:14:46 #1282 №2367609 
А как скомпилировать 2 .cpp файла в одну файла не объявляя один из них .h заголовочным? Я в одном объявил класс и его функции и переменные. а в другой main пользуюсь. И при стандартноо компляции выдаёт что этот класс не объявлен. Если файл с классом сделать .h и через обычный инклуд включить от всё заебубма станвоится.

Алсо вообще модульную программу делаю у меня каждая функция и класс в отдельном исходники. Как это лучше всё держать в .h и подключать всё это или в .cpp и потом всё это вместе комппилировать? Помогите, молю, нюфаня я обосраная
Аноним 31/05/22 Втр 00:24:05 #1283 №2367612 
namespace fs = std::filesystem безопасно прописывать?
Аноним 31/05/22 Втр 00:27:56 #1284 №2367614 
>>2366145
>И все они, судя по мануалам, возвращают полное число потоков из всех цпу
Подтверждает мои мысли и то, что написано на cppreference
>std::thread::native_handle
А вот за эту наводку огромное спасибо, анон!
Аноним 31/05/22 Втр 00:28:44 #1285 №2367615 
Похоже у первокурсников сессия начинается. Сейчас опять вот этим вот >>2367609 >>2366725 >>2365181 весь тред будет засран..
Аноним 31/05/22 Втр 00:30:08 #1286 №2367616 
>>2366725
Старина, съеби нахуй
Аноним 31/05/22 Втр 00:33:05 #1287 №2367617 
>>2367609
>как скомпилировать 2 .cpp файла в одну файла
Узнать разницу между объявлением и определением. Вынести объявления в .h, включить его везде где нужно, в том числе в .cpp с определением.
Аноним 31/05/22 Втр 00:35:03 #1288 №2367619 
>>2367617
Всё понял, спасибо.
Аноним 31/05/22 Втр 00:35:37 #1289 №2367620 
>>2366725
Пишет что не может открыть их. Они точно у тебя находятся в рабочей директории?
Аноним 31/05/22 Втр 00:36:04 #1290 №2367621 
>>2367612
UB
Аноним 31/05/22 Втр 00:39:44 #1291 №2367623 
>>2367621
Так-то вся наша жизнь UB
Аноним 31/05/22 Втр 00:41:31 #1292 №2367624 
>>2367617
Годно годно. То есть можно сделать чистый .h 1 и там объявить все классы, функции и всё говно что хочу. А в остальных .cpp написать определение этому годно, годно. Мерси ещё раз
Аноним 31/05/22 Втр 06:46:18 #1293 №2367679 
>>2367399
В 2022 - с очень большой вероятностью. В общем случае зависит от процессора и компилятора
Аноним 31/05/22 Втр 14:52:02 #1294 №2367968 
если я компилирую программу и ide написано что комплятор x64 release он точно сгенерирует код assemblera x64? это можно как-то проверить разрадяность программы кроме того что попытаться её запустить на 32 разрядной системе?
Аноним 31/05/22 Втр 15:19:35 #1295 №2367982 
>>2367968
От формата файла зависит. В PE код целевой машины идёт сразу за меткой COFF хедера например. Для 64 так будет и написано - 64 86.
Аноним 31/05/22 Втр 15:25:43 #1296 №2367984 
>>2367982
не понимаю что такое PE и COFF.
Аноним 31/05/22 Втр 15:28:41 #1297 №2367990 
>>2367968
ещё можешь в настройках указать чтобы компилятор выдавал асм или заюзать дизассемблер, а там чекнуть нету ли регистров 64битн и тп

>>2367984
открой exe (или аналог) в hex и загугли формат как читать
Аноним 31/05/22 Втр 15:29:34 #1298 №2367992 
>>2367990
Спасибо понял. Наверное в hex редакторе посмотрю. Дизассемблера у меня нету.
Аноним 31/05/22 Втр 16:08:32 #1299 №2368024 
Я правильно понимаю что языки типа java или шарпа они при компляции сперва компилируются в C++ код, потом тот код в ассемблер, затем в двоичный?
Аноним 31/05/22 Втр 16:10:38 #1300 №2368026 
>>2368024
Нет.
Аноним 31/05/22 Втр 16:10:51 #1301 №2368027 
>>2368024
Нет, не правильно. Где ты эту чушь вычитал?
Аноним 31/05/22 Втр 16:13:04 #1302 №2368031 
>>2368027
Нигде. Я всю жизнь изучаю только ассемлеры, с\с++, и просто где-то мельком читал про какие-то интерпретаторы в java я решил что они наверное переовдят этот код в c++
Аноним 31/05/22 Втр 16:22:24 #1303 №2368041 
>>2368027
Хорошо а как тогда они построены? Так же как c++ переводятся в ассемблер, потом в двочиный код объектных файлов, а потом компоновщиком связываются в единый файл исходного кода? А? А? А? А? А?
Аноним 31/05/22 Втр 16:29:49 #1304 №2368053 
>>2368041
>c++ переводятся в ассемблер,
Неа, он сразу в двоичный, так больше возможностей для оптимизации.
Шарп и джава компилируются в байт код, который исполняется (интерпретируется) виртуальной машиной.
Аноним 31/05/22 Втр 17:07:01 #1305 №2368079 
>>2368053
спасибо. то есть у шарпа и джавы есть снизу какая-то виртуальная машина со своей маняархитектурой которая их код обрабатывает или что? как она работает? чем им не подходит нативный процессор?
Аноним 31/05/22 Втр 18:20:38 #1306 №2368147 
>>2368079
>чем им не подходит нативный процессор?
Им нужно чтобы за них кто-то памперсы менял.
Аноним 31/05/22 Втр 19:43:21 #1307 №2368235 
>>2368147
ну погоди. скажи зачем им нужна виртуалка которая их будет преобразовывать в оригинальные команды процессора? нахуй им этот ёбаный интерператотор ебучий? почему нельзя а с\с++ это компилировать?
Аноним 31/05/22 Втр 19:49:29 #1308 №2368236 
>>2368235
Чтобы один и тот же артефакт работал на любой платформе, а не "скачайте версию либы для винды, скачайте для линукса, скачайте для андроида, для x86_32, для x86_64, для ARM, для ещё какого-нибудь говна, или ебитесь со сборкой сами".
Аноним 31/05/22 Втр 19:58:57 #1309 №2368244 
>>2368236
А понял. То есть вся работа по кросс платформенности передана этому маняитерпретатору годно, годно.

Но я привык если честно компилировать. То есть мне нужна какая-то либра, я беру и компилирую её парой команд и всё.
Аноним 31/05/22 Втр 20:00:12 #1310 №2368247 
>>2368236
Я правильно понял что при компляции с\с++ языка идёт сперва создание объектного файла с двоичным годом а потом связывание их в один исполняемые?

сорри я ещё до книги по компляторам и отладчиков не дошёл, только ассемблеры читаю поэтому не знаю но интересно очень узнатт
Аноним 31/05/22 Втр 21:30:41 #1311 №2368295 
>>2368244
Ну там есть не только интерпретируемый байт код, но и JIT компиляция (при выполнении часть байт кода на лету компилируется в платформенный бинарник). Но программист ручками её не может сделать - виртуальная машина сама решает как и когда это делать.

>>2368247
Компилятор из текстовых фалов делает бинарные объекты. Связывание бинарных объектов в исполняемые файлы делает линковщик.
Аноним 31/05/22 Втр 21:36:24 #1312 №2368296 
>>2368244
В реальном мире компиляция не редко делается прям в процессе выполнения. Например JIT в виртуальных машинах или компиляция шейдеров, которые запускаются на видеокартах (c-подобные языки GLSL, HLSL).
Аноним 01/06/22 Срд 00:12:02 #1313 №2368344 
>>2368295
>>2368296
спасибо более менее представление появилось.
Аноним 01/06/22 Срд 00:53:10 #1314 №2368383 
>>2368296
на русский dynamic translation почему то переводят обычно как "динамическая компиляция", что создает некую путаницу все же
имхо, прямой перевод был бы в этом случае точнее
Аноним 01/06/22 Срд 01:41:19 #1315 №2368414 
Можно ли как то быстро глянуть данные с указателя на char в виде hex?
Аноним 01/06/22 Срд 01:50:10 #1316 №2368417 
>>2368414
Вывести в консоль?
Аноним 01/06/22 Срд 01:54:55 #1317 №2368418 
>>2368417
Там не только символы. Там вообще любые данные.
Аноним 01/06/22 Срд 01:56:50 #1318 №2368419 
>>2368418
Ну можно конечно, но как то не красиво
Аноним 01/06/22 Срд 05:21:00 #1319 №2368443 
Как правильно логи записывать? Мне много не надо, хочется только многопоточно писать в лог и потом достать его. Просто свой поток с мьютексом подойдет или за такое по рукам бьют?
Аноним 01/06/22 Срд 06:36:22 #1320 №2368449 
>>2368443
Поток логированния тогда у тебя должен быть высокоприоритетным иначе другие потоки будут ждать его
Аноним 01/06/22 Срд 06:36:56 #1321 №2368450 
>>2368414
Вывести в файл, открыть редактором с показом текста.
Аноним 01/06/22 Срд 06:40:47 #1322 №2368453 
>>2368450
*Хекса
Аноним 01/06/22 Срд 06:49:14 #1323 №2368455 
https://www.boost.org/doc/libs/1_79_0/doc/html/boost_asio/reference/steady_timer.html
Можете пояснить за потокобезопасность? Не очень понимаю о чем там говорят
Аноним 01/06/22 Срд 10:51:09 #1324 №2368558 
изображение.png
Почему в qt не завезли нормальной документации по кастомизации? Почему я должен вслепую прописывать qstylesheet? Хочу вот сделать няшную табличку как на пике, как это реализовать?
Аноним 01/06/22 Срд 11:02:50 #1325 №2368565 
>>2368558
> как это реализовать?
Через нормальные фреймворки типа WPF. Там одним нажатием кнопочки исходники стилей нативных контролов экспортируются в XAML и можешь перепердоливать их как хочешь.
Аноним 01/06/22 Срд 11:50:14 #1326 №2368593 
>>2368565
>нормальные фреймворки
>виндоговно
Школа закончилась, цирк начался.
Аноним 01/06/22 Срд 12:23:34 #1327 №2368645 
>>2368593
Анальный цирк - это использовать проприетарную либу в опенсорсе и жаловаться на недостатки кастомизируемости. Жри что дают и не морщи ебало.
Аноним 01/06/22 Срд 12:48:53 #1328 №2368659 
>>2368558
>Почему в qt не завезли нормальной документации по кастомизации?
RTFM https://doc.qt.io/qt-5/stylesheet-reference.html

>Почему я должен вслепую прописывать qstylesheet?
Сделай текстовый виджет из которого по кнопке будешь присваивать стайлщит

>Хочу вот сделать няшную табличку как на пике, как это реализовать?
Всё можно, за 100$ сделаю за тебя. И даже без qml

>>2368645
>проприетарную либу
>проприетарную
Ебанулся? Она опенсорсная и бесплатная.
А вообще, сасихуй, пидар

Салтовка-кум
Аноним 01/06/22 Срд 13:02:36 #1329 №2368666 
>>2368659
> Она опенсорсная и бесплатная.
> бесплатная
Чел...
Вот у майков дотнет действительно опенсорсный и бесплатный, под MIT-лицензией. А у qt мало того что GPL, так ещё и есть чисто проприетарные зависимости с проприетарными qt-лицензиями. О какой бесплатности ты говоришь, если в реальном коммерческом продукте ты обязан башлять им бабло и сидеть под проприетарной лицензией? Вы там совсем ёбнулись, петучи?
Аноним 01/06/22 Срд 13:46:08 #1330 №2368705 
>>2368558
Хз что те не хватает, на кюмл накатать такой делегат для отображения списка можно за пару минут.
Аноним 01/06/22 Срд 13:54:50 #1331 №2368715 
>>2368705
Так у меня уже готовое приложение на qwidget. Как его на qml перевести?
Аноним 01/06/22 Срд 14:31:52 #1332 №2368752 
>>2368558
Когда уже "комнатные дизайнеры" поймут, что красивый дизайн заключается не в том, как выглядит твое приложение, а как оно визуально вписывается в систему.
Аноним 01/06/22 Срд 15:49:04 #1333 №2368821 
>>2368715
Если уже все на виджетах, то довольно геморройно, но можно отдельные элементы на qquickwidget делать.
Аноним 01/06/22 Срд 19:33:37 #1334 №2369000 
image.png
>>2368666
>А у qt мало того что GPL
Папизди мне тут
https://doc.qt.io/qt-5/licensing.html
https://doc.qt.io/qt-6/licensing.html

>>2368752
Тебе бабки платят (если канешна плотють, лол) за то, чтобы ты реализовывал хотелки заказчика (либо старшего по званию).
Умничать о том, какой должен быть дизайн ты можешь, когда у тебя будет свой стартап и где ты сам будешь музыку заказывать

>>2368821
В QTableView можно кастомный делегат просунуть тоже, если чо
https://doc.qt.io/qt-5/qabstractitemview.html#setItemDelegate
Но я бы добивал стайлщиты

Алсо в куте-дезигнере (или креаторе сразу) можно играться со стайлщитами напрямую
Аноним 01/06/22 Срд 20:38:50 #1335 №2369043 
>>2369000
> Папизди мне тут
И что ты принёс? У тебя же по ссылкам и написано, что опенсорс под зоопарком разных версий GPL, а коммерческая под проприетарной лицензией самой qt.
Аноним 01/06/22 Срд 20:47:10 #1336 №2369055 
>>2369043
>LGPL == GPL
Ясно, изучай матчасть, а потом возвращайся
Аноним 01/06/22 Срд 20:52:46 #1337 №2369059 
>>2369055
== != ===
Аноним 01/06/22 Срд 21:04:18 #1338 №2369066 
>>2369059
так ты еще и js-петуч. пашол нахуй!
Аноним 01/06/22 Срд 21:29:23 #1339 №2369080 
Глобальные переменные зло?
Аноним 01/06/22 Срд 21:32:13 #1340 №2369081 
>>2369080
А то я слышал, что да, но если у меня объект должен жить все время, то почему бы и нет?
Аноним 01/06/22 Срд 21:52:16 #1341 №2369092 
>>2369080
Глобальные неконстанты - зло.
1. приколы при рефакторинге
2. приколы при тестировании
3. приколы последовательности создания
4. приколы при остановке программы, деструкции
5. и вообще SOLID йопта

>>2369081
>объект должен жить все время
>все время
Всё да не всё
Аноним 01/06/22 Срд 21:56:04 #1342 №2369097 
>>2369055
> Note: For open-source licensed Qt, some specific parts (modules) are not available under the GNU LGPL version 3, but under the GNU General Public License (GPL) instead.
Иди нахуй, слепой петуч.
Аноним 01/06/22 Срд 22:00:37 #1343 №2369102 
>>2369097
>Аддоны - это ключевая часть либы
Тебе сказали учить матчасть, а не выебываться.
Аноним 01/06/22 Срд 22:11:37 #1344 №2369107 
>>2369080
Всякие литералы и константы математические - норм
Аноним 01/06/22 Срд 22:15:42 #1345 №2369110 
>>2369102
Нихуя пошли манёвры. У тебя базовый модуль многопоточности сразу под тремя лицензиями, в том числе и GPL, а ты тут виляешь жопой. Сейчас может ещё скажешь что половина qt ненужно, да? Так же как он у тебя стал бесплатным, так же и на LGPL натягиваешь, шиз.
И я так и не услышал как в реальном коммерческом проекте использовать qt и не сидеть под анальной проприетарной лицензией. Понабежали тут студенты-прыщевики со своей вымышленной швабодкой, которая кончается ровно в тот момент, когда начинаешь писать код не для хобби.
Аноним 01/06/22 Срд 22:19:35 #1346 №2369112 
>>2369080
Да нет в общем то. Но раз уж ты в плюсовом треде, то и пользуйся нарративом, который задает язык, ооп, инкапсуляция и тд. Это как на бэхе картошку возить, довольно странное решение, не находишь?
Аноним 01/06/22 Срд 22:30:39 #1347 №2369118 
>>2369080
Любые данные хуй пойми где - зло. Классы с состоянием тоже так-то говно в плане архитектуры. Если зайдёшь в какой-нибудь нормальный проект типа UE5, то там в классах почти нет переменных. У тебя данные должны жить ровно столько, сколько нужно коду и уж тем более не валяться где-то снаружи. Подобное говно только во всяких джавах и сишарпах используется, где фанатичный ООП и бюджеты в десятки мегабайт ОЗУ на вывод Хэлоу ворлда в консоль. А кресты никогда не были чисто ООП-языком, нехуй и стрелять себе в ноги, намеренно оставляя потенциальные места для утечки памяти, багов и ухудшения читаемости кода.
Аноним 01/06/22 Срд 22:36:32 #1348 №2369122 
>>2369110
>У тебя базовый модуль многопоточности сразу под тремя лицензиями, в том числе и GPL, а ты тут виляешь жопой
>Что такое dual licensing
Ну йопт тваю мать, тебе же сказали учить матчасть. Написано же английский по-белому "licensing options" - выбирай любую, а ты опять хуйню постишь

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

>Понабежали тут студенты-прыщевики со своей вымышленной швабодкой, которая кончается ровно в тот момент, когда начинаешь писать код не для хобби.
Ты такой молодой и юный, а уже старый закостенелый пердун, который не может RTFM.
Еще и на мелкомягких дрочишь
Аноним 01/06/22 Срд 22:51:48 #1349 №2369127 
>>2369122
> выбирай любую
> Qt contains some code that is not provided under the GNU Lesser General Public License (LGPL)
Вот ты хуесосина тупая, любую выбирать можешь только есть оно под LGPL. У тебя в половине модулей нет выбора. У тебя даже Qt Core не весь под LGPL, дегенерат. Не говоря уже про анальную Qt Commercial License, которую ты в любом случае будешь использовать в любом не опенсорс-проекте.
Аноним 01/06/22 Срд 22:58:44 #1350 №2369129 
Как же хорошо, что можно юзать опенсорсный Qt в коммерческом проекте и ничего при этом не нарушать.
Аноним 01/06/22 Срд 23:15:26 #1351 №2369143 
>>2369127
>У тебя даже Qt Core не весь под LGPL, дегенерат.
И тут ты такой с пруфами? Или опять в лужу пердишь?
Аноним 01/06/22 Срд 23:58:25 #1352 №2369206 
и все таки, указатели и символы * & это что такое?
допустим на собесе спрашивают такое, что бы вы ответили? что это просто число? индекс в массиве байт памяти или как
Аноним 02/06/22 Чтв 00:37:50 #1353 №2369223 
>>2369206
& взятие адреса - получение адреса объекта в памяти
⚹ разыменование указателя - получение ссылки на объект по адресу указателя
Указатель - переменная, хранящая адрес ячейки памяти (адрес 1 байта объекта). Адрес - целый беззнаковый тип от 0 до 2 ^ (разрядность ОС - 1).
Аноним 02/06/22 Чтв 04:08:50 #1354 №2369265 
>>2369223
что такое переменная?
область памяти? тогда получается что область памяти хранит адрес ячейки памяти
что такое ссылка?
Аноним 02/06/22 Чтв 06:54:50 #1355 №2369287 
1515244167717.png
>>2369143
> И тут ты такой с пруфами?
Аноним 02/06/22 Чтв 07:49:43 #1356 №2369319 
>>2369223
>до 2 ^ (разрядность ОС - 1).
Ты чему детей учишь, ирод?
Аноним 02/06/22 Чтв 08:58:44 #1357 №2369340 
Пиратка CLION есть у кого, котаны?

в гугле забанили, да.
Аноним 02/06/22 Чтв 09:00:19 #1358 №2369342 
>>2369340
Есть
Аноним 02/06/22 Чтв 09:02:05 #1359 №2369343 
>>2369265
>что такое переменная?
абстрактная хуетень, которую ты используешь для временного хранения данных. На практике это либо часть стэка, либо область данных из секции данных(для x86-64 это .data)
>что такое ссылка?
Это синтаксический сахар для указателя. Позволяет менять данные в другой области видимости без разыменовывания указателя и прочей ебалы.
Аноним 02/06/22 Чтв 09:02:29 #1360 №2369344 
>>2369342
Кинь магнит или еще какую нибудь торрент ссылку.
Аноним 02/06/22 Чтв 09:06:29 #1361 №2369345 
>>2369223
>Адрес - целый беззнаковый тип от 0 до 2 ^ (разрядность ОС - 1).
Хуету несешь.
FAR/NEAR указатель имеет размер, равный разрядности ОС[в битах].

Указатель стека имеет размерность, зависящую от многих факторов, но обычно это 2 байта.
Аноним 02/06/22 Чтв 09:23:11 #1362 №2369353 
>>2369287
>Что такое перелицензирование и совместимые лицензии?
Б-же какое ты воинствующее необразованность
Аноним 02/06/22 Чтв 09:23:24 #1363 №2369354 
>>2369345
> FAR/NEAR указатель имеет размер, равный разрядности ОС
А вот теперь уже вы оба пиздите. Указатели бывают разные, но они почти никогда не бывают в полную ширину, если мы про машинный код говорим. Абсолютные адреса почти никогда не используются в реальном машинном коде, не говоря уже про то что не каждая 64-битная инструкция может принять 64-битный адрес в принципе.
Аноним 02/06/22 Чтв 09:36:06 #1364 №2369361 
>>2369345
>FAR/NEAR указатель
Вспомнил турбо це и прослезился

>они почти никогда не бывают в полную ширину, если мы про машинный код говорим. Абсолютные адреса почти никогда не используются в реальном машинном коде
Подменяешь понятия. Способы адресации в ассемблере - это не указатели.
Аноним 02/06/22 Чтв 09:39:07 #1365 №2369362 
>>2369353
> перелицензирование
Вот же ты наркоман. Перелицензирование нельзя делать на несовместимые лицензии. У тебя copyleft-лицензии там.
> совместимые лицензии
Тебе там явно пишут что они не доступны под LGPL. Ты совсем дегенерат что ли?
Аноним 02/06/22 Чтв 09:44:26 #1366 №2369367 
>>2369362
>Перелицензирование нельзя делать на несовместимые лицензии. У тебя copyleft-лицензии
Пруф хоть одной copyleft лицензии в списке

>Тебе там явно пишут что они не доступны под LGPL.
Кто они? Ты можешь матчасть сначала выучить, а потом лезть со своим охуенно важным мнением?
Аноним 02/06/22 Чтв 09:56:24 #1367 №2369374 
>>2368296
>>2368295
Программы которые написаны на этом крайне медленое говно наверняка. Теперь я понял почему всё это говно написаное на шарпах, с .net фремворками и прочим такое медленое
Аноним 02/06/22 Чтв 09:58:02 #1368 №2369375 
>>2369367
> Кто они?
Модули из Qt, у них список на сайте лежит, блять. Тебе черным по белому написано - те модули доступны только под лицензиями владельцев этих опенсорс-проектов, LGPL не доступна.
Аноним 02/06/22 Чтв 10:06:03 #1369 №2369382 
>>2368236
>Чтобы один и тот же артефакт работал на любой платформе
Здесь логическая ошибка. Такой высер не работает ни на какой платформе. Точнее, он работает на одной единственной платформе виртуальной машины. Но виртуальные платформы это говно по многим причинам, хотя главная конечно тормоза, но там еще куча говна.

Раз у меня есть компьютер, мне нужны приложения именно под него, под мой компьтер, а не под какую-то левую виртуальную дерьмину. Это дерьмище, а не приложение. Так что этот мемчик "мультиплатформенность" это лозунг пропагандонов дерьма вместо софта. Мультиплатформенность это дерьмо и не нужна, рак убивающий софт, с которым нужно бороться, травить, уничтожать, обоссывать, а не нахваливать.
Аноним 02/06/22 Чтв 10:41:04 #1370 №2369420 
>>2369375
Ты мало того что матчасть не учишь, так и английского не знаешь?
Код модулей перелицензирован под LGPL, точка.
Прекращай пердеть в лужу, мастдайщик
Аноним 02/06/22 Чтв 10:41:42 #1371 №2369421 
>>2369382
>Так что этот мемчик "мультиплатформенность" это лозунг пропагандонов дерьма вместо софта. Мультиплатформенность это дерьмо и не нужна, рак убивающий софт, с которым нужно бороться, травить, уничтожать, обоссывать, а не нахваливать.
Тыкнуть бы рожой вот этой базой всем питонистам, шебмакакам, джавистам и сишарперам, для которых "С++ — мертвый язык".
Аноним 02/06/22 Чтв 10:46:38 #1372 №2369424 
>>2369421
>>2369382
Хуясе боль. Пора понять, что выгода от мультиплатформенности в 90% случаев превышает выгоду от оптимизации. Поэтому на рынке кресты все менее и менее востребованы.
Аноним 02/06/22 Чтв 10:55:02 #1373 №2369429 
>>2369421
>всем питонистам, шебмакакам, джавистам и сишарперам
Самое смешное, что несмотря на наличие виртуальной машинки, у каждой их параш ровно одна платформа, где они живут, и дальше не вылазят

>>2369424
>Что такое глубокая интеграция с системой?
Ахаха, лол. То-то уже даже в мобайлговне отказываются от джавасрикт говна и переписывают всё на нативу
>Поэтому на рынке кресты все менее и менее востребованы.
Каком рынке? Очередных НИИ петухов? Или стартаперов смузихлёбов "теперь я тут кабанчик"?
Аноним 02/06/22 Чтв 10:57:38 #1374 №2369431 
Нахуя вообще создали все эти фремворки и говно да ещё и запилили их на джаву си шарпы и прочее? Это всё нихуя неоптимизировано.

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

И кстат эти программы максимум быстро работают, а вот гоовно построенное на .net через winforms это уже подтормаживает
Аноним 02/06/22 Чтв 11:13:06 #1375 №2369443 
>>2369382
Ты не осилишь на байтоёбском небезопасном языке с UB писать такое количество бизнес-говна, какое пишут на интерпретируемой параше. Там для заказчиков важна бизнес-логика, а не оптимизация вызовов методов ради 0.0001% перформанса.
>>2369431
Не было такого "раньше" никогда. До жаб и петухонов писали бизнес-говно не на байтоёбских языках, а на коболе, PL/SQL, перле и другой хуйне. Байтоёбство всегда было нишевым.
Аноним 02/06/22 Чтв 11:16:52 #1376 №2369446 
>>2369443
Спасибо, понял. Буду знать. то есть высокороневные всегда были.
Аноним 02/06/22 Чтв 11:20:03 #1377 №2369450 
image
>>2369443
>байтоёбском небезопасном языке с UB






Зумер, срыгни с треда
Аноним 02/06/22 Чтв 11:21:22 #1378 №2369452 
>>2369443
>байтоёбском небезопасном языке с UB
>оптимизация вызовов методов ради 0.0001% перформанса.

Хуя шебмакака рвётся, даже не додумалась методичку сменить.
Аноним 02/06/22 Чтв 11:22:42 #1379 №2369453 
>>2369450
>>2369452
По делу нечего аозразить? Слиты.
Аноним 02/06/22 Чтв 11:57:08 #1380 №2369480 
Каникулы...
Аноним 02/06/22 Чтв 13:15:28 #1381 №2369550 
>>2369319
Внимательности
sage[mailto:sage] Аноним 02/06/22 Чтв 13:20:43 #1382 №2369556 
Аноны, узнал тут про uniform инициализацию.
int x{10};
Так вообще делают или все по старинке пишут:
int x = 10;
Аноним 02/06/22 Чтв 13:26:40 #1383 №2369562 
>>2369550
Внимательности ты учишь не детей.
>>2369556
Делают.
Аноним 02/06/22 Чтв 14:28:19 #1384 №2369620 
Есть вебка, как к ней подключиться? Как вывести изображение? Как манипулировать изображением? Как сделать быстро и в 1080p60?
Аноним 02/06/22 Чтв 14:44:38 #1385 №2369627 
>>2369620
>Как сделать быстро и в 1080p60?
mplayer tv://
Аноним 02/06/22 Чтв 14:45:24 #1386 №2369629 
>>2369627
> mplayer
Прыщавое чмо, плиз.
Аноним 02/06/22 Чтв 14:47:58 #1387 №2369631 
>>2369629
Ты не дал никаких вводных, а уже выебываешься
Учи DirectX тогда, мастдайщик
Аноним 02/06/22 Чтв 15:04:20 #1388 №2369652 
>>2369345
В языке нет "указателя стека", нет far/near указателей. Есть абстракция, имеющая тип, который я указал. То что ты натужил - это аспекты реализации модели памяти ОС.
Аноним 02/06/22 Чтв 15:05:59 #1389 №2369659 
>>2369652
>модели памяти ОС
или среды выполнения
Аноним 02/06/22 Чтв 15:29:51 #1390 №2369676 
Как мне написать масштабирующийся график? Есть массив точек который я соединяю линиями. Я решил что масштабирование будет происходить путем умножение координаты точки на коэффициент масштабирования. Коэффициент масштабирования будет прибавляться и убавляться с помощью поворота колесика мышки. Можно будет перемещать график с помощью зажатой левой кнопки мыши. Осталась проблема как мне при увеличении масштаба оставаться в той же точке где мышка стоит. У меня в коде который я скину ниже есть offSetX и offSetY, я вот не пойму каким образом мне нужно добавлять и отнимать значения и что это за значения должны быть.

https://pastebin.com/mP0HWvne

Аноним 02/06/22 Чтв 15:37:15 #1391 №2369684 
а можно комплятор от визуалки отдельно скачать? чисто комплятор консольный без этой ебучей студии
Аноним 02/06/22 Чтв 15:40:16 #1392 №2369687 
>>2369684
Нет, теперь никак.
Можешь скачать mingw.
Аноним 02/06/22 Чтв 15:42:41 #1393 №2369690 
>>2369687
спасибо. ладно. пожалуйста, скажи, молю а что так сильно gcc от микрософтовского отличается? Ну в плане того какой код генерируется?
Аноним 02/06/22 Чтв 15:44:49 #1394 №2369694 
>>2369687
Ну mingw короче скачаю. Спасибо. Я уж загуглил что это тотже gcc но под шинду. Мерси.
Аноним 02/06/22 Чтв 15:48:15 #1395 №2369697 
image.png
Двач, нужна помощь.
Есть кнопка, создающая на windows форме массив кнопок. Нужно модифицировать этот код так, чтобы программа создавала эти кнопки в виде цветков. Пытался найти в гугле и что-то нифига дельного не нашел. Код можно глянуть тут https://0bin.net/paste/SxhzkgTX#9gwqRes9DFl4kdmFRL53+BLC-R6x36mzGCxLzG/6FtY
Аноним 02/06/22 Чтв 15:49:25 #1396 №2369700 
>>2369697
>winforms
Ну это больше наверное в c# тред чем сюда
Аноним 02/06/22 Чтв 15:53:42 #1397 №2369706 
>>2369700
Это сюда, у него же древний Managed C++/CLI
Аноним 02/06/22 Чтв 15:55:11 #1398 №2369707 
>>2369676
Что значит в виде цветка? Типо что бы они по кругу вокруг первой кнопки? или что бы они были повернуты перпендикулярно касательной относительно центра окружности вокруг которого они вытроились?
Аноним 02/06/22 Чтв 15:59:29 #1399 №2369712 
>>2369697
>>2369707
ааа, что бы каждая кнопка была сама ввиде цветка, ну это надо юзать маски, либо прозрачные текстурки накладывать
Аноним 02/06/22 Чтв 16:01:50 #1400 №2369717 
>>2369697
>>2369712
>>2369707
https://ru.stackoverflow.com/questions/672182/Кнопка-произвольной-формы-в-виде-картинки-в-c
Вот попробуй почитай этот запрос на форуме
Аноним 02/06/22 Чтв 16:02:22 #1401 №2369718 
>>2369717
ааа бля там на C#
Аноним 02/06/22 Чтв 16:03:49 #1402 №2369719 
>>2369706
Жесть я думал они же давно все в шарпистов переродились
Аноним 02/06/22 Чтв 20:41:48 #1403 №2369997 
>>2369659
А еще я видел интерпретатор С, где можно говнякать скрипты без компиляции. Для С++ наверно тоже есть, хотя хз - для развлечения слишком сложный проект, а ни для чего больше такое не нужно..
Аноним 02/06/22 Чтв 20:58:07 #1404 №2370021 
> интерпретатор
g++ hui.cpp -o hui && ./hui && rm -f hui
Аноним 02/06/22 Чтв 21:07:29 #1405 №2370033 
>>2370021
Значение знаешь?
Аноним 02/06/22 Чтв 21:10:32 #1406 №2370035 
>>2370033
Да.
Аноним 02/06/22 Чтв 22:04:01 #1407 №2370071 
1 wHKe6W4opLmk6pb7sxZz6w.png
>>2368295
>>2368053
Аноним 02/06/22 Чтв 22:08:36 #1408 №2370073 
посоветуйте плиз текстовый редактор для проверки синтаксиса с\с++ желательно без комплятора у меня уже есть. мне просто синтаксис чекать
Аноним 02/06/22 Чтв 22:14:24 #1409 №2370079 
>>2370073
> желательно без комплятора у меня уже есть
А до этого ты в блокноте что ли писал код?
Аноним 02/06/22 Чтв 22:16:39 #1410 №2370081 
Capture.PNG
>>2370079
Ну вообще-то да. И честно говоря устал уже потому что элементарной подсветки комментариев нет. Хорошо хоть комплятор ошибки выдаёт по которым можно понять. Устал от этого. Посоветуй, пожалуйста, редактор кода.
Аноним 02/06/22 Чтв 22:16:58 #1411 №2370083 
>>2370073
Такого не существует в природе. Шаблоны только после компиляции скажут что ты пидор.
Аноним 02/06/22 Чтв 22:17:29 #1412 №2370084 
>>2370083
Хорошо, а можно текстовый редактор к которому можно подключить свой комплятор?
Аноним 02/06/22 Чтв 22:19:09 #1413 №2370087 
>>2370084
Можно.
https://www.embarcadero.com/ru/products/cbuilder
Аноним 02/06/22 Чтв 22:19:55 #1414 №2370088 
>>2370087
мерси.
Аноним 02/06/22 Чтв 22:24:35 #1415 №2370090 
>>2370087
> обучающее видео как поменять обои в редакторе
найс
Аноним 02/06/22 Чтв 22:25:48 #1416 №2370091 
>>2370090
Ничего не сравнится с тутроиалами от индусов. Хелло тудэй ай виль шоу ю хау то инсталь визуаль студио ту вазуанд найнтин...
Аноним 02/06/22 Чтв 22:28:43 #1417 №2370093 
Можно notepad++ скачать и туда комплятор прицепить(вроде бы) это уж прям для таких любителей всё ручками собирать себе.
Аноним 02/06/22 Чтв 22:45:02 #1418 №2370107 
>>2370081
Советую сходить к доктору, у тебя с башкой проблемы.
Аноним 02/06/22 Чтв 22:53:25 #1419 №2370111 
>>2370083
Синтаксис все равно чекается, пидор скажут на более тонкие вещи.
Аноним 02/06/22 Чтв 22:54:14 #1420 №2370113 
1654199418768.jpg
>>2370071
Аноним 02/06/22 Чтв 22:57:28 #1421 №2370116 
>>2370111
Да нихуя. До компиляции он может быть нормальным, а после - подчёркнутым красным и с ошибкой.
Аноним 02/06/22 Чтв 23:03:07 #1422 №2370118 
>>2370113
Блэт а кто же прав, мне одни говорят что в ассемблер а ты говоришь что сразу в двоичный...
Аноним 02/06/22 Чтв 23:05:43 #1423 №2370122 
>>2370118
Все правы, в разных компиляторах сделано по-разному. В стандарте нигде не сказано "надо обязательно сначала компилировать в ассемблер и только потом в двоичный, иначе у вас не C++".
Аноним 02/06/22 Чтв 23:06:39 #1424 №2370125 
>>2370122
Спасибо. А как допустим вот излюбленый всеми gcc и g++ компилируют с ассемблером или без? а от майкрософт как?
Аноним 02/06/22 Чтв 23:23:51 #1425 №2370140 
>>2370125
Он компилирует во внутреннее представление фронтендом, которое потом уже трансформируется бекендом в двоичный код.
Аноним 02/06/22 Чтв 23:31:34 #1426 №2370147 
Как в 11 стандарте получить время модификации файла? Есть универсальный способ для всех систем? Сейчас трахаюсь с fs experimental, но ничего рабочего не могу найти.
Аноним 02/06/22 Чтв 23:32:07 #1427 №2370148 
>>2370140
Спасибо. Последний воропс и я отстану. А g++ по умолчанию в каком режиме компилирует в debug или release? У меня он компилирует программу, но стоит её переместить за пределы директории комплятора она ругается на отстствие библиотек, подозреваю что режим debug стоит
Аноним 03/06/22 Птн 00:17:23 #1428 №2370179 
>>2370147
Очевидно, что если нет std::filesystem::last_write_time, то оно есть в бусте. Либо дёргай посекс или винапи.
Аноним 03/06/22 Птн 00:21:46 #1429 №2370180 
Шёл 2к22 год, кресты всё ещё неюзабельны без буста.
Аноним 03/06/22 Птн 00:23:32 #1430 №2370183 
char же везде 1 байт?
Аноним 03/06/22 Птн 00:23:37 #1431 №2370184 
>>2370180
Зато есть корутины.
Аноним 03/06/22 Птн 00:25:04 #1432 №2370187 
>>2370183
Да, но байт не всегда был 8 бит.
Аноним 03/06/22 Птн 00:32:07 #1433 №2370191 
>>2370187
Зато сейчас всегда.
Аноним 03/06/22 Птн 00:45:29 #1434 №2370195 
image.png
image.png
16477926810392.webm
>>2359478
>>2359486
Опять я.
Вот только что наткнулся на вот такую хуйню на сайте вскода https://code.visualstudio.com/docs/languages/cpp, пикрел 1. Заставить это дополнение работать у меня не получилось, см пикрел 2.

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

На данный момент могу представить только два возможных способа реализации:
1) Где-то раздобыть уже подписанные в формате doxygen файлы хедеров для сдк винды и заменить ими дефолтные
1.5) самому всё подписать нахуй
2) Научить интеллисенс читать doxygen документацию из стороннего архива.

Ни первый, ни второй, я не ебу где и как находить/делать.
Всё ещё испражняюсь в Visual Studio не code, предпочёл бы ide не менять, но если совсем без вариантов - то хз.

шебм для привлечения внимания приложил
Аноним 03/06/22 Птн 00:45:39 #1435 №2370196 
>>2370148
debug/release это понятие VisualStudio. Фактически это наборы директив для компилятора, включая пути для объектных файлов, бинарников и всяких вспомогательных файлов типа pdb. Студия всё это делает за программиста. Проекты под gcc часто пишутся на make файлах и им подобных и там какие-то свои рукодельные конфигурации.
Основное отличие debug от release это уровень оптимизации генерируемого кода. В случае с g++ задаётся флагом -O{0.2.3}. По умолчанию -O0 то есть без оптимизации, что эквивалентно debug. При этом если ты ничего более не указываешь, то всё будет валиться в одну папку перезаписывая то, что там есть.

А то что у тебя бинарь не запускается, так это дело не в уровне оптимизации. Зависимые модули должны либо лежать в одной папке, либо система должна знать где их искать. Допустим в лялексе их надо кинуть в /usr/local/lib и дёрнуть ldconfig.


Аноним 03/06/22 Птн 00:46:44 #1436 №2370197 
>>2370195
>Заставить это дополнение работать у меня не получилось, см пикрел 2.
Не исключаю свою рукожопость, кстати. У меня очень хуёво получалось работать с плюсами в vscode потому что, в отличии от вижуал студии, с компилятором приходится работать чуть ли не напрямую
Аноним 03/06/22 Птн 02:33:25 #1437 №2370216 
144537564718310874.jpg
Аноны, нахуя нужно ООП? В книгах и тытруба нашел примеры, аля, создают два класса - жук и паук. Если вводят цифру 6, то срабатывает первый, если 8 то второй. Зачем ебать себе мозги, вместо написания ифов в две строчки?
С наследованием один тип вообще замудрил. Создал класс А, в нем переменную, унаследовал в класс Б, там унаследованную переменную посчитал со второй. После перекинул все это в класс В и вывел. Пиздец просто. Аноны, приведите, пожалуйста, примеры, где ООП облегчает работу, или без него вообще нихуя работать не будет. Заранее спасибо.
Аноним 03/06/22 Птн 06:49:54 #1438 №2370248 
>>2370216
ООП как и почти все в программировании придумали для управления сложностью. Дебильные примеры про жуков, работников и т.п. из учебников вообще не дают понятия нахрена это надо, там слишком простые структуры данных и управления. Надо сразу давать делать что-то более менее структурно сложное, а когда человек охуеет от ифов - показывать как это элегантно решается с ООП
Аноним 03/06/22 Птн 06:54:38 #1439 №2370250 
>>2370118
В ассемблер раньше компилировали потому что ассемблер обычно уже был написан, для простоты. Современным компиляторам это обычно не надо, в ассемблер лезут только для использования редких опкодов, которые компилятор не вывозит.
Аноним 03/06/22 Птн 06:57:05 #1440 №2370251 
>>2370116
Значит у тебя не очень хороший статический анализатор, не думал об этом? Мой пишет варнинги даже на то, на что гцц пофиг.
Аноним 03/06/22 Птн 07:03:51 #1441 №2370255 
Господа, есть вопрос. Хочу написать программу-поисковик. Пользователь вводит название продукта, и код должен его найти в текстовом файле. С этим текстовым файлом довольно заебно работать и хочу спросить - чем его можно заменить?
Аноним 03/06/22 Птн 10:51:22 #1442 №2370398 
>>2370216
Ну я понимаю опп, как свой тип данных. Вот у нас есть int, float, string. Я представляю это все ввиде коробочек в которые мы ложим значения и при необходимости можем их достать. А вот иногда нужно к примеру написать такую коробочку, но которая была бы с функционалом, например нужно написать коробочку в которую ты ложишь int, она этот int принимает в себя, но когда ты захочешь взять обратно, то что в ней лежит, то ты можешь попросить коробочку: "А ну ка, коробочка, выдай мне значение которое я тебе дал, но что бы оно было не в int, а в string. (типо положили число 123, а когда захотели получить в string, то получили строку "123")". Или же эта коробочка может вычислять квадратный корень, числа которого положили, и тебе не нужно писать sqrt(переменная), ты просто пишешь коробочка.квадратный_корень_числа_которое_лежит_в_тебе. Просто так удобно, и это позовляет писать меньше кода, но программа может становиться более многофункциональной. Ты просто знаешь что у тебя есть объекты с такими то функциями и такими то данными. Ну и опять же, с жучками пример. Допустим ты пишешь игру - шутер, где нужно стрелять по жукам, и в зависимости от того куда ты попадешь, наноситься жуку разный урон. Допустим есть класс Жук, и у него есть следующие поля(переменные класса):

int Здоровье_жука;
координата Голова_жука;
координата Тело_жука;
координата Усы_жука;
координата Ноги_жука;
Также у жука есть метод(функция класса):
int проверить_попадание(координата координата_пули);
{
if(координата_пули == Голова_жука)
{
return 50;
}
if(координата_пули == Тело_жука)
{
return 10;
}
if(координата_пули == Усы_жука)
{
return 5;
}
if(координата_пули == Ноги_жука)
{
return 5;
}
return 0;
}

В классе Жук я использовал, класс(тип переменных) координата
Он имеет следующие поля

class координата
{
public:
int x;
int y;
//По хорошему нужно еще написать переопределение оператора == для класса координата, что бы можно было писать вот так - координата1 == координата2, типо что бы научить понимать компьютер, что из них больше, а что меньше. Но я ни разу не переопределял операторы(Не было нужды), поэтому не знаю как это делается.
}
Так вот теперь когда ты стреляешь, можно в каждом цикле игры вызывать следующий алгоритм: Жук.Здоровье_жука = Жук.Здоровье_жука - Жук.проверить_попадание(координата_пули);
Ну вообщем ооп нужны что бы меньше кода плодить, это все равно что не использовать функции, а просто брать и копировать код. Гораздо легче написать функция такая то вот тебе данные сделай с ними что то. Чем каждый раз Ctrl+V код вставлять.
Аноним 03/06/22 Птн 11:20:40 #1443 №2370434 
>>2370196
спасибо понял. просто проблема в том что эти модули не относятся к моей программы этоо библотеки комплятора самогоо. на другом компляторе она компилировалась и без всяких проблем перемащалась.

в любом случае сппасибо анон, годно пишешь. пойду тогда сам гуглить не буду тебе на мозг садиться
Аноним 03/06/22 Птн 11:23:32 #1444 №2370436 
>>2370250
Спасибо анон, за поправочку тоже.
Аноним 03/06/22 Птн 11:24:56 #1445 №2370439 
Как мне написать масштабирующийся график? Есть массив точек который я соединяю линиями. Я решил что масштабирование будет происходить путем умножение координаты точки на коэффициент масштабирования. Коэффициент масштабирования будет прибавляться и убавляться с помощью поворота колесика мышки. Можно будет перемещать график с помощью зажатой левой кнопки мыши. Осталась проблема как мне при увеличении масштаба оставаться в той же точке где мышка стоит. У меня в коде который я скину ниже есть offSetX и offSetY, я вот не пойму каким образом мне нужно добавлять и отнимать значения и что это за значения должны быть.

https://pastebin.com/mP0HWvne
Аноним 03/06/22 Птн 11:57:17 #1446 №2370474 
>>2370439
Написать функцию преобразования координат из оконных в координаты графика и обратно? При преобразовании запоминать реальные координаты, потом их восстанавливать.
Аноним 03/06/22 Птн 12:08:27 #1447 №2370483 
>>2370255
Json
Аноним 03/06/22 Птн 13:20:40 #1448 №2370555 
У меня rsa в дебаг режиме генерируется порядка 4-9 секунд (как повезет) в дебажном режиме. Почему так долго? Понятно, что в релизе будет быстрее(интересно на сколько, ведь я еще не тестил). Но как то супер медленно, имхо. Как всякие i2p используют ассимнетричное шифрование и не грузят проц? Чяднт?
Аноним 03/06/22 Птн 14:35:36 #1449 №2370633 
>>2370180
ой да ладно, по большому счету в бусте из действительно нужного только asio так как предоставляет кроссплатформенную обертку для асинхронного io
Аноним 03/06/22 Птн 14:42:49 #1450 №2370645 
>>2370633
А как же сигналы и слоты?
Аноним 03/06/22 Птн 16:03:29 #1451 №2370747 
>>2370555
>используют ассимнетричное шифрование и не грузят проц
Минимизируют его использование.
Аноним 04/06/22 Суб 01:18:22 #1452 №2371152 
>>2366470
Бамп
Аноним 04/06/22 Суб 01:53:15 #1453 №2371159 
>>2370216
Работать начни, писать большие проекты и поймешь. Вообще ооп не панацея, тем более с современного взгляда на прогу, но без него не обойтись в любом болилимени крупном проекте, это коммерческий подход, профессиональный код над которым могут работать сразу несколько человек
Аноним 04/06/22 Суб 09:53:29 #1454 №2371270 
15795260281-1.png
Анон, как сделать, чтобы выдавалась ошибка, если путь к создаваемым файлам в sprint_s введен некорректно?

https://hastebin.app/629afff9191a62001c35ebaf

Сейчас вообще никаких ошибок, даже если туда написать хело ворлд.
Аноним 04/06/22 Суб 10:10:28 #1455 №2371277 
>>2371270
Доки прочесть религия не позволяет? Проверяй что поток good.
Аноним 04/06/22 Суб 11:39:22 #1456 №2371329 
>>2371277
зачем рыться в каких то унылых доках, когда гномики на форумах готовы отвечать на любой банальный вопрос
Аноним 04/06/22 Суб 11:43:59 #1457 №2371330 
>>2371329
Затем что мозг усохнет и ты не вкатишься.
Аноним 04/06/22 Суб 14:40:19 #1458 №2371426 
>>2371270
>sprintf_s(buf, "C:/Users/user/Desktop/test/test%d.txt", i);
Читаю https://docs.microsoft.com/ru-ru/cpp/c-runtime-library/reference/sprintf-s-sprintf-s-l-swprintf-s-swprintf-s-l?view=msvc-170, а там
>int sprintf_s(char buffer, size_t sizeOfBuffer, const char format,...);
Ты неправильно функцию вызываешь
Аноним 04/06/22 Суб 16:06:53 #1459 №2371501 
Можно ли как то boost::asio::async_wryte для нескольких данных сразу вызвать, чтобы он друг за другом их записал? А то я хочу отправить размер файла и файл, а копировать целиком файл в новое место, чтобы вплотную размер записать долго. Писать async write внутри другого плохо и муторно.
Аноним 04/06/22 Суб 16:16:07 #1460 №2371512 
>>2371501
А все, сори.
Аноним 04/06/22 Суб 16:32:10 #1461 №2371522 
приказ: в кратчайшие сроки осуществить перекат треда
об исполнении доложить
Аноним 04/06/22 Суб 16:40:01 #1462 №2371524 
Умные указатели это дорого? А то я в асинхронщине прям обмазался люто ими. По идее там только 8 байт скопировать, да счетчик поменять. Звучит дешево
Аноним 04/06/22 Суб 16:40:17 #1463 №2371525 
>>2371522
Приказываю тебе в кратчайшие сроки осуществить перекат треда. Об исполнении доложить.
Аноним 04/06/22 Суб 17:03:11 #1464 №2371532 
>>2371524
>в асинхронщине прям обмазался
Главное чтоб не в многопоточности
Аноним 04/06/22 Суб 17:17:59 #1465 №2371543 
>>2371525
боец ты охуел? наряд в /b/ вне очереди
Аноним 04/06/22 Суб 19:03:48 #1466 №2371632 
>>2371524
shared_ptr неатомарный, так что потом очком своим за него расплатишься. А так да, копейки.
Аноним 04/06/22 Суб 19:07:20 #1467 №2371634 
>>2371632
У меня с порядком норм. Я его последовательно тягаю
Аноним 04/06/22 Суб 19:08:27 #1468 №2371636 
Я пишу код в visual studio и vcpkg. Другой чел пишет на линуксе хуй знает в чем. Схвает ли моя vs его cmake?
Аноним 04/06/22 Суб 19:10:18 #1469 №2371639 
>>2371636
Все таки в qt creator, а не в хуй знает в чем. Уточнил
Аноним 04/06/22 Суб 21:34:13 #1470 №2371757 
изображение.png
Что за модули умножения? Это видимо что то от cryptopp. Почему это модули? Если это модули, то оно видимо дергает какие то либы постоянно для умножения?) Это разве не долго? Нельзя это оптимизировать?
Аноним 04/06/22 Суб 21:35:45 #1471 №2371759 
>>2371757
А, лол. Это несколько модулей, а не умножение. Но все равно вопрос остается таким же
Аноним 04/06/22 Суб 22:58:18 #1472 №2371818 
У меня сервер хранит ссылку на мапу из объектов которые он дергает потом в обработчике. И получается такая забавная вещь: если вдруг объект в мапе удалится, то будет ub. Объекты могут удаляться - это дело рук пользователя приложения. Пока в голову приходят три костыля:
1) запретить пользователю вообще удалять объекты
2) Разрешить, но делать это при выходе из приложения когда все операции с объектами завершены
3) (Кстати это уже походит не на костыль, а на решение). Написать обертку, которая кстати будет потокобезоасность обеспечивать и которая будет за запросы к объекту возвращать shared_ptr на него и в случае если пользователь хочет удалить объект, проверять, что на него указывает всего один умный указатель и удалять. Иначе давать ошибку.
Мнения?
Аноним 05/06/22 Вск 01:25:41 #1473 №2371875 
>>2371818
ub из-за чего? У тебя итерация по мапе на серверсайде? Тогда это iterator invalidation.
Если же на сервер сайде ты просто дергаешь по ключам элементы, то в чем проблема делать if (find(…)) {} ?
Аноним 05/06/22 Вск 01:27:44 #1474 №2371876 
>>2371875
> if (find(…)) {}
Пока искал элемент был, а потом пропал и всё.
Аноним 05/06/22 Вск 13:23:13 #1475 №2372000 
Можете посоветовать хороший гайд по Qt Quick, Qml? Попытался гуглить, но путного ничего не нашёл.
Аноним 05/06/22 Вск 14:01:24 #1476 №2372021 
>>2372000
Хочешь что то сделать, гуглишь как это сделать, копипастишь. Всё, постепенно разберешься если регулярно писать будешь что-то. Ну а если нет, то и нахуй не надо
Аноним 05/06/22 Вск 14:35:06 #1477 №2372040 
image.png
>>2370195
>>2370197
Бамп вопросу первый и последний, наверное.
Аноним 06/06/22 Пнд 01:05:57 #1478 №2372511 
iyt13pu59o291.mp4
Аноним 06/06/22 Пнд 09:25:18 #1479 №2372597 
>>2370250
Вроде сейчас большая часть языков компилируются в LLVM IR где можно провести оптимизации под процессор/архетектуру.
Длинная и нудная лекция на эту тему https://youtu.be/rLshTsxgDcw
Аноним 06/06/22 Пнд 09:44:33 #1480 №2372603 
>>2371818
Насколько помню shared_ptr имеет интересный контрольный блок. Он считает ссыки на shared_ptr и weak_ptr Если кол-во ссылок на шаред равно нулю - он удаляет объект, но продолжает существовать если есть живые ссылки слабый указатель.
Аноним 06/06/22 Пнд 10:04:22 #1481 №2372607 
>>2371818
Бля, я жоска уебался при попытке реализовать третий вариант. Я с атомными умными указателями не работал. Ладно, выглядит не запредельно сложно. Потом напишу как нибудь.
Аноним 06/06/22 Пнд 10:05:28 #1482 №2372610 
>>2370434
Тот чел не совсем прав. Дебаг/релиз это не уровень оптимизации. В дебаге в бинарник добавляется отладочная информация
Аноним 06/06/22 Пнд 12:39:05 #1483 №2372724 
>>2372610
Спасибо большое за дополнение возьмём на заметку, анон.
Аноним 06/06/22 Пнд 13:02:25 #1484 №2372736 
>>2372610
Там даже на уровне стл различия, в дебаге вектор проверяет выходы за пределы памяти например.
Аноним 06/06/22 Пнд 13:43:18 #1485 №2372756 
>>2372736
А это дополнительные инструкции в программу?
Аноним 06/06/22 Пнд 13:50:08 #1486 №2372759 
>>2372756
Конечно
Аноним 06/06/22 Пнд 13:53:30 #1487 №2372763 
>>2372759
Мерси.
Аноним 06/06/22 Пнд 15:09:38 #1488 №2372840 
>>2345617 (OP)
сап двачик, помогите ньюфагу.

1. Зачем нужны аргументы функции? в чем заключается принципиальное отличие присваивания значения переменной через вызов функции и просто объявлением?

2. Зачем нужны указатели? Только для работы с памятью?
Аноним 06/06/22 Пнд 15:55:53 #1489 №2372877 
>>2372610
Тот чел сказал ((основное отличие)).
Есть ещё ряд функций и макросов типа std::assert, которые убираются в "release" версии.

А то что отладочных символов нет в release версии - это ты жиденько серишь. Ты можешь дебажить и релизную версию. Чтобы удалить символы из объектника ему надо делать strip (команда в лялексе такая).
Аноним 06/06/22 Пнд 16:01:15 #1490 №2372879 
>>2372877
> лялексе
Никто этим говном не пользуется, в нормальных ОС отладочные символы всегда отдельно от бинарника в pdb лежат.
Аноним 06/06/22 Пнд 16:17:44 #1491 №2372889 
>>2372879
1. Чел использует mingw / GCC / g++.
2. pdb генерируется и для release, то есть отладочные символы есть ((всегда)).
Аноним 06/06/22 Пнд 16:22:35 #1492 №2372892 
(((отладочные символы)))
Аноним 06/06/22 Пнд 16:48:47 #1493 №2372917 
>>2372840
>Зачем нужны указатели? Только для работы с памятью?
Указатель указывает на кусок памяти. При том память может быть как данными, так и функцией. Архитектура фон Неймана едить её.
>в чем заключается принципиальное отличие присваивания значения переменной через вызов функции и просто объявлением?
Не совсем понял вопроса.
Аноним 06/06/22 Пнд 18:55:59 #1494 №2373096 
https://godbolt.org/z/hKhGjxEEW
Нормально ли писать так сеттер? Можно ли сделать лучше?
Аноним 06/06/22 Пнд 20:22:16 #1495 №2373197 
>>2373096
Чел, ну что за хуита? Ты в прошлом треде что ли подхватил про std::move? Иди читай про copy elision и учись правильно пользоваться им. А ещё концепт убери, у тебя там одинаковые методы генерятся ещё и с кучей оверхеда, хотя строку можно и без этого говна в одну функцию передавать.
Аноним 06/06/22 Пнд 22:02:19 #1496 №2373271 
Поясните твердо и четко, нахуя &&:
1) в аргументах функции
2) в переменных внутри функции
3) в полях класса/струткуры
Аноним 06/06/22 Пнд 22:20:22 #1497 №2373280 
>>2373271
Я байтодебил кукож либераха, так что если че пойму на низкоуровневых примерах, мне так проще.
Аноним 06/06/22 Пнд 22:36:23 #1498 №2373290 
>>2373271
Как я понимаю && в описанном тобой контексте используется как обозначение Rvalue. Если смотреть глубже, то это короткоживущие объекты которые будут очень скоро удалены. Это позволяет тебе реализовывать вместо копирования - перемещение. К слову после функции можно то же поставить один или два амперсанта, что позволит компилятору вызывать разные функции при встрече с разными ссылками.
Аноним 06/06/22 Пнд 22:38:19 #1499 №2373291 
>>2373290
>Это позволяет тебе реализовывать вместо копирования - перемещение
падажжи это как? Ка кэто реализовано? Вот копирование понятно как, mov dest, src
или load effective address
Аноним 06/06/22 Пнд 22:44:40 #1500 №2373294 
>>2373291
Это волшебная крестовая абстракция, впиленная в язык с целью повышения количества UB в коде.
Аноним 06/06/22 Пнд 22:45:28 #1501 №2373295 
>>2373294
>впиленная в язык с целью повышения количества UB в коде.
То бишь хуйня без задач правильно пынямаю?
Аноним 06/06/22 Пнд 22:59:05 #1502 №2373303 
>>2373295
Ну на сколько я помню lvalue - это у чего есть адрес в памяти, а rvalue - всё остальное (вроде есть ещё xvalue и gvalue но это фетишистам любящим стандарт оставим)

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

Если ты используешь правую ссылку для инициализации. Это значит, что источнику, откуда ты копируешь жить осталось 2 понедельника. И можно не выделять память, дрочить указатели и так далее. А просто свапнуть их местами.

Как пример - строки. Вроде с 11 года COW (копирование при записи) строки в стандарте запретили. По этому копируя строку по левой ссылке ты будешь выделять память. А через правую - просто переместишь.
Аноним 06/06/22 Пнд 23:34:45 #1503 №2373314 
Кстати от мува в пределах одного скопа помимо простой передачи владения есть какой-то профит? Он же для примитивов память не освобождает?
Аноним 06/06/22 Пнд 23:41:22 #1504 №2373319 
>>2373314
Мув просто перемещает же. Памятью объект сам должен управлять.
Аноним 06/06/22 Пнд 23:44:33 #1505 №2373320 
>>2373319
Ну це да, вот я и спрашиваю есть ли смысл мувать.
Аноним 06/06/22 Пнд 23:47:09 #1506 №2373322 
>>2373320
Ну только из временного объекта жи.
Аноним 06/06/22 Пнд 23:59:56 #1507 №2373330 
А допустимо ли для записи в переменную a по адресу писать так &a?
Или лучше создать указатель
a и использовать его?
Аноним 07/06/22 Втр 00:15:04 #1508 №2373340 
>>2373271
&& нужно, чтоб перегружать функции; можешь ебануть
int f(int &x) {return x;}
int f(int &&x) {return x + 1;}

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

перегрузку с && у тебя получится вызвать с хуйнями, у которых имени нет, вроде литералов f(0) -> 1 или те штуки, которые вернула другая функция f(f(0)) -> 2

если у тебя уже есть переменная, вроде
int x = 0;
то ты можешь вызвать перегрузку с && вот так:
f(static_cast<int &&>(x));
это и есть знаменитый std::move, который нихуя не двигает, а просто кастует

эта хуетень появилась примерно так -- пиздец как захотелось сделать альтернативу копированию, а именно -- перемещение, которое получает ссылку на объект, уродует его, пиздит все ресурсы и так далее, но!
непонятно епта как между перемещением и копированием различать, как кого вызывать, какие у уонструкторов сигнатуры должны быть, типа T(T const &) и T(T &)? ты как минимум ебанешься педалить код так, чтобы вызывалось то, что нужно.
ну и придумали хитровыебанные ссылки с хитровыебанными правилами. что тут хитровыебанного, казалось бы?

вспомним выше определенные f(int &) и f(int &&) и ебанем вот такое:
template<typename T>
auto g(T &&x) {return f(x);}
ну и как ты думаешь, что вернет g(0)? 0 ебать, вот так вот!

чё происходит? T честно выводится как int, это можешь проверить сам; значит, что-то нехорошее происходит при вызове f(x)
знакомься ебать, правило схлопывания ссылок!
предлагается мыслить примерно так: упоминание переменной это же ну типа ты на переменную ссылаешься, да? так вот, при упоминании переменной ты прихуяриваешь к её типу &, вот и сослался. был у тебя int &&, стал int && &, и как-то дохуя стало этих &&&, поэтому, мы их схлопнем:
T & & -> T &
T & && -> T &
T && & -> T &
T && && -> T &&
запоминай как хочешь, лично мне напоминает булеаны и логическое умножение, или сложение, да в принципе похуй

ну вот тебе и разгадка: если был какой-то x с типом int &&, он входит в f(x) как int && & -> int &, соответственно, получается 0

ответом на вопрос "сука я хочу чтобы ссылка осталась такой, какой я её сунул в первую функцию" является конструкция std::forward<T>(x), где x был объявлен как T && -- это важно, именно &&, именно под эту хуйню и написали этот несчастный forward -- он, зная T и зная, какой получился x, выдаёт всё, как ты хочешь
Аноним 07/06/22 Втр 00:26:31 #1509 №2373346 
>>2373340
а, забыл добавить
в итоге, люди пишут примерно так:
struct T
{
----int a;

----T(T const &t) : a(t.a) {} // copy
----T(T &&t) : a(t.a) {t.a = 0;} // хитровыебанный move
};

че где копируется и перемещается:
T t1 = {1};
1. переменная копируется:
T t2(t1);
// t1.a -> 1, t2.a -> 1
2. перемещённая переменная перемещается:
T t2(static_cast<T &&>(t1));
или, более человечно, T t2(std::move(t1));
// t1.a -> 0, t2.a -> 1
3. безымянное перемещается:
T t3(T{2});
// t3.a -> 2, безымянное сначало обнулилось, потом умерло
4. константное хуй переместишь, скопируется:
T const t4(t1);
T t5(std::move(t1));
// t4.a -> 1, t5.a -> 1
потому что T const && может превратиться в T const &, а в T && не может. спасибо, что конст
Аноним 07/06/22 Втр 00:27:52 #1510 №2373348 
>>2373346
блджядь
T t5(std::move(t4));
Аноним 07/06/22 Втр 12:20:55 #1511 №2373615 
>>2345617 (OP)
opengl это альтернатива directx или они вместе могут быть в в проекте?
Аноним 07/06/22 Втр 15:16:33 #1512 №2373814 
>>2373615
Это инструмент для управления видеокартой. Как и vulkan и metal api. Их основное назначение - рисовать на мониторе. Ты можешь их включить в один проект, дабы была кросплатформенность. Но тебе нужно тогда будет придумывать более абстрактную обвязку к ним.
Аноним 07/06/22 Втр 16:03:46 #1513 №2373879 
>>2373615
Да, альтернатива, ты либо используешь одно, либо другое.
Аноним 07/06/22 Втр 16:55:00 #1514 №2373933 
image.png
list <connection>::iterator it = listConnection.back();

почему подчеркивает ошибкой

и зачем во всех гайдах пишут вот так?
it = listConnection.erase(it);
почему нельзя просто удалить элемент, а нужно обязательно приравнивать итератор, типо приудалении он возвращает теперь новый элемент который теперь занял его место?
Аноним 07/06/22 Втр 17:32:40 #1515 №2373965 
>>2373933
Back это не итератор, а ссылка на элемент.
Используй auto.
Ну и до кучи https://en.m.wikipedia.org/wiki/Erase%E2%80%93remove_idiom
Аноним 07/06/22 Втр 17:33:25 #1516 №2373967 
>>2373933
auto it = huita.back();
Аноним 07/06/22 Втр 17:36:19 #1517 №2373971 
>>2373965
ну я не хочу использовать auto, и как мне удалить последний элемент листа? end() - 1?
Аноним 07/06/22 Втр 17:39:50 #1518 №2373978 
>>2373971
pop_back()
Почитай мануал, не ленись.
Аноним 07/06/22 Втр 17:40:24 #1519 №2373980 
>>2373978
ох ё, точно, я забыл что такое есть
Аноним 07/06/22 Втр 17:42:08 #1520 №2373982 
image.png
>>2373978
стой не уходи, не знаешь что может быть не так?
Аноним 07/06/22 Втр 17:48:51 #1521 №2373992 
>>2373982
Предположу что в классе connection у тебя есть буфер вида char buff[16424]. Либо убирай флаг компилятора (или это санитайзер/решарпер/или что там у тебя стоит) либо выделяй в куче через new int[size].
Аноним 07/06/22 Втр 17:50:25 #1522 №2373995 
>>2373982
Ебать у тебя монитор конешн. Неужели удобно?
Аноним 07/06/22 Втр 17:52:17 #1523 №2374000 
>>2373992
но ведь лист выделяет данные в куче, то как может быть что элемент char buff выделиться не в куче.
Аноним 07/06/22 Втр 17:55:42 #1524 №2374005 
image.png
>>2373995
это на работе, какой дали с таким и сижу, я до этого пользовался монитором 4 на 3, 1240 на 1024. Нормально, удобно, иногда приходиться шею чуть чуть поворачивать, что бы нужное увидеть
Аноним 07/06/22 Втр 18:00:01 #1525 №2374015 
image.png
image.png
>>2373992
Аноним 07/06/22 Втр 18:01:40 #1526 №2374016 
>>2374000
Выражение в скобках (connection()) это создание временного безымянного объекта на стеке, которое потом копируется/сдвигается в новый элемент std::list (который создан в куче).
Аноним 07/06/22 Втр 18:02:50 #1527 №2374017 
>>2374016
точно, это надо создать в куче его и патом сдвинуть в листе
Аноним 07/06/22 Втр 18:04:49 #1528 №2374020 
>>2374017
и удалить патом
Аноним 07/06/22 Втр 22:44:50 #1529 №2374290 
Как вкатиться во многопоток?
Аноним 08/06/22 Срд 02:17:49 #1530 №2374506 
А как вообще пишут сложные приложения на плюсах без кутов? Точнее без механизма сигналов слотов.
Вот допустим у меня есть класс повар, готовящий печенья и класс, продавец эти печенья продающий, оба работают в отдельных тредах. И как вы сообщите продавцу что печенье готово и положите его в ящик очередь на продажу? На кутах понятно, просто сигнал вызвать соединяющий два класса.
Кстати что вообще про сигналы-слоты думаете? Есть какие то подводные камни использования? Я пока не столкнулся, по-моему очень крутая штука. Подобное вообще есть в ядре других языков?
Аноним 08/06/22 Срд 02:30:40 #1531 №2374509 
>>2374506
> На кутах понятно, просто сигнал вызвать соединяющий два класса.
Это подход всяких джаваскриптов: верить в магию, не задумываться, как она работает, хуйнул готовый компонент из фреймворка, и всё заебись. Хотя хватило бы обычной конкурентной очереди.
Аноним 08/06/22 Срд 05:23:10 #1532 №2374528 
>>2374506
Никак. Куты и существуют чтобы дрессировать макак-рабов которые без кутов не могут. Хитрожопая схема подсаживать на зависимость всякий слабохарактерный сброд, которого всегда дохуя, а значит стабильный бизнес гарантирован.
Аноним 08/06/22 Срд 11:39:42 #1533 №2374640 
16436537685330.gif
чому нельзя написать using для неймспейса((
я хотел сделать типо два класса foo::bar::win32::Window и foo::bar::x11::Window, и потом написать

using foo::bar::win32
или
using foo::bar::x11

чтобы можно было писать win32::Window или x11::Window

но так нельзяяЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯ
Аноним 08/06/22 Срд 11:47:38 #1534 №2374645 
>>2374640
using win32 = foo::bar::win32;
using x11 = foo::bar::x11;
Аноним 08/06/22 Срд 11:49:52 #1535 №2374647 
>>2374645
> namespace win32 = foo::bar::win32;
> namespace x11 = foo::bar::x11;
Fix
Аноним 08/06/22 Срд 11:52:38 #1536 №2374650 
>>2374647
хайпово спасибо
Аноним 08/06/22 Срд 12:33:39 #1537 №2374678 
>>2374509
>>2374528
Информативно, а я и не спорю что макака, но пытаюсь тащемто разобраться
Аноним 08/06/22 Срд 13:33:24 #1538 №2374725 
залупа ёбаная.PNG
что не так блядь.PNG
пизда нахуй.PNG
Блять я умолюя ну помогите на ёбаные советы из интернета не работают уже забеался. Ну как этой ёбаный sqlite3.h прилинковать на c++ умоляю блять поомгите нахуй заебался уже блять с этой поеботиной ебучей

Вот 2 файла в ебучей папке блять делаю всё сука по ебаному официальному гайду с их ебаного сайта блять и комплятор писал команды и чё только не далл и всё равно саука он не привязываей её нахуй. блять заебался уж сукас блять эта хуйня
Ну помогите эту хуйню блять слинковать пиздец я на эту залупу ебаную времени выкинул.

Уже и блять вставлял туда оригинальный файл кэтому заголовку ебаному который sqlite.c и с ним комплировал и в связке блять и dll библоетку высрать пытался по официальной команде из гайда с оф сайта к моему копилятору один хуй ошилбки ошибки блять ебаные ошибки сука нахуй тогда вообще эти гайды ебаные елси там одни ошибки блять лучше бы вообще не пислаи нахуй
Аноним 08/06/22 Срд 13:35:27 #1539 №2374728 
>>2374725
Ну как блять ну почему эта залупа пиздец что она не видит эту ебаную бибилиотеку ну в чём дело от блять7 Ну сука же объявлена она как в той же директории блять лежит там файл ну сука ну что блять что блять не так то нахуй что блять не атк ёбаная тварь?
Аноним 08/06/22 Срд 13:39:35 #1540 №2374735 
>>2374725
Как ты линкуешь sqlite3.dll?
Аноним 08/06/22 Срд 13:46:36 #1541 №2374750 
КОМАНДА ИЗ ГАЙДА НАХУЙ.PNG
ПАПКА С ИСХОДНИКАМИ НАХУЙ.PNG
КОМПЛЯЦИЯ НАХУЙ ПО ГАЙДУ.PNG
ПОШЛО ВСЁ НАХУЙ.PNG
>>2374735
Никак. Я не могу собрать эта ёбаную хуйню. Вот вот я слинковал нахуй по официальному гайду нахуй официальной командой блять вот оно нахуй .dll библиотека эта ебаная блять вот что у меня вышло блять сука. Не комлилируется ни библиотека, ни на голую этот ебаный файл не подключается НИ-ХУ-Я. нахуя этот гайд писали не знаю блять, с таким же блять усппехом могли бы и не писат эту хуйню ебаную

Я просто тупо беру и голвый .h файл инклюдом включаю и всё.

Ссылка на ссаный бесполезный ебаный гайд по компиляции https://www.sqlite.org/howtocompile.html
Аноним 08/06/22 Срд 13:47:48 #1542 №2374753 
>>2374735
Я уже блядь эту ебаную библотеку с исходниками и в дефолтные либры комплятора впихивал и чё только блядь я не делал я уже блять не знаю как эту хуйню сликновать блять я сука блять ненавижу нахуй эту поеботину ебаную блять сука. Мне блять хуйню делать надо блять я на этой хуйне ебаной сижу из за того что эти гайды ебаные поеботина блять и эти пидоарсы из формов SOLVED блять которые пишту очевидную хунйю ой а блядь добавьте инклюд нахуй вы забыли её включить ВОТ Я ДОБАВИЛ НАХУЙ НЕ РАБОТАЕТ СУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУУКА
Аноним 08/06/22 Срд 13:51:46 #1543 №2374759 
>>2374750
>>2374753
>>2374735
А всё я долбаёб. Прри компляции .dll ббилиотеки надо было убрать с третьего скрина назване исходника потому что он уже включен. я смотрю он пишет в ошибках множественное определение то есть я как бы один файл 2 раза компилировал. всё скопилировал. я долбаёб да я знаю
Аноним 08/06/22 Срд 14:11:12 #1544 №2374774 
>>2374735
>>2374735
>>2374735
>>2374735
ОООООООООООООО КАЕФ ЭТО СКОМПИЛИРОВАЛОСЬ ВМЕСТЕ С .DLL БИБЛЕОТКОЙ. ТАКОЙ КАЕЕЕЕФ ПОЙМАЛ БЛИН. Ребят спасибо огромное вам.. ООООО ОНО СКОМПИЛИРОВАЛОСЬ НАКОНЕЦ-ТО Я СМОГ ЗАГРУЗОЧНЫЙ МОДУЛЬ ДОПИСАТЬ А ТО Я ОХУЕЛ СО ВЧЕРАШНЕГО ДНЯ.

не люблю просто когда на хуйне останвлвиается всё
Аноним 08/06/22 Срд 14:15:29 #1545 №2374777 
Мммм. Я понял в чём ошибка была. Мало одного файла sqlite3.h положить в папку нужно ещё его sqlite3.c скомпилировать в либру .dll и потом .dll + sqlite3.h закинуть в папку с проектом.

А вот они пробелы в знании о работе компляторов и компоновщиков...
Аноним 08/06/22 Срд 14:15:32 #1546 №2374778 
image.png
image.png
image.png
image.png
падает на этом коде программа, что не так?
Аноним 08/06/22 Срд 14:22:31 #1547 №2374782 
>>2374778
Типо после того как я удалил элемент списка, то функция erase вернула елемент который при удалении занял его место, тоесть если у меня одно соединение, то у меня получается удаляется единственный элемент, и патом он заменяется end(), а так как у меня в конце каждой итерации i++, то итератор пытается выйти за приделы списка и получается ошибка, так что ли? И как это обойти? А почему во всяких примерах это работает, а у меня нет?
Аноним 08/06/22 Срд 14:24:57 #1548 №2374786 
image.png
>>2374782
ну да, так и есть, блять какие же контейнеры уебанские в stl
Аноним 08/06/22 Срд 14:26:40 #1549 №2374792 
>>2374786
Да нормальные там контейнеры, просто они обмазаны универсальностью.
Аноним 08/06/22 Срд 14:43:58 #1550 №2374803 
>>2374786
Нормальный человек напишит это гораздо проще через remove_if
Аноним 08/06/22 Срд 15:15:43 #1551 №2374844 
>>2374778
Ну ты и костелеписец. Ты же лабу просто делаешь, да? Надеюсь что да
Аноним 08/06/22 Срд 15:25:31 #1552 №2374855 
>>2374844
Невозможно знать все сахарные функции
Аноним 08/06/22 Срд 15:45:06 #1553 №2374872 
>>2374844
нет, не лабу, но эта программа ни куда не пойдет
Аноним 08/06/22 Срд 15:55:27 #1554 №2374880 
Ходит слух что вкат в программирование через с++ самый сложный, но при этом именно на этом языке много вакансий где вроде как не требуют знания 9 тысяч технологий. Где правда ?
Аноним 08/06/22 Срд 16:04:00 #1555 №2374888 
>>2374880
Пиздеж. Вакансий вообще нет для вкатунов. Учи шарп, там тоже особо не надо знать левые фреймворки, всё свое. Лучший язык для вката и первой работы.
Аноним 08/06/22 Срд 16:08:00 #1556 №2374893 
>>2374880
лично мне повезло я вкатился в работу на С++ с уровнем знания - я умею создавать классы и писать функции.
У меня специальность не программистская, у меня на 1 курсе было программирование С++, а дальше я сам изучал чуть чуть. Начал пытаться устраиваться на разные работы, делал тестовые задания, попутно изучая С++, меня не брали, а патом взяли. уже 5 месяц работаю
Аноним 08/06/22 Срд 16:08:31 #1557 №2374894 
>>2374855
Начнем с того что это база. Закончим тем что написано дебильно и некрасиво, даже исправленная версия
Аноним 08/06/22 Срд 18:18:34 #1558 №2375015 
>>2374778
std::erase_if / remove_if
Аноним 08/06/22 Срд 20:28:00 #1559 №2375165 
image.png
Ребята, не понимаю. Как в данной функции, вводя логин пароль сохранить полученные значения? Всё до чего я додумался, это привязать вводимые значения к конкретному человеку через объект класса(Но я не уверен что мыслю в нужном направлении).
Аноним 08/06/22 Срд 20:48:22 #1560 №2375184 
>>2375165
Храни в базе данных, захешировав пароль
Аноним 08/06/22 Срд 21:26:51 #1561 №2375208 
а что означают двойные звёздочки?
есть p
а
*p это что?
Аноним 08/06/22 Срд 21:28:27 #1562 №2375211 
>>2375208
разметка сработала вот есть

p

а что такое
*p?
Аноним 08/06/22 Срд 21:30:05 #1563 №2375214 
ццццц.PNG
>>2375208
>>2375211
блять как это всё заебало.

p
*p - что это?
Аноним 08/06/22 Срд 21:32:14 #1564 №2375220 
>>2375214
Указатель на указатель
Аноним 08/06/22 Срд 21:33:14 #1565 №2375221 
>>2375220
Серьёзно?
Аноним 08/06/22 Срд 21:34:49 #1566 №2375226 
>>2375221
Что тебя смущает?
Аноним 08/06/22 Срд 21:35:31 #1567 №2375228 
>>2375184
Понял, спасибо
Аноним 08/06/22 Срд 21:36:08 #1568 №2375230 
>>2375226
А зачем нужен указатель на указатель? В чём смысл? Почему просто не передать сразу указатель зачем на него указатель делать?
Аноним 08/06/22 Срд 21:45:20 #1569 №2375234 
>>2374880
Для вката достаточно получить техническое образзование и потом идти в гос или окологос контору. Сложен не сам вкат, а поиск сытого места в позиции мидл.

В текущих реалиях язык самодостаточен. В довесок может идти немного питона, Qt / boost, линукс и git. Всё остальное сильно специализировано и вкатуну не нужно.
Аноним 08/06/22 Срд 21:59:11 #1570 №2375245 
>>2375230
Смысл в том, что есть такой ущербный язык как C. В этом чудесном языке нет ссылок. И вот допустим тебе надо из функции вернуть через параметры объект, созданный в функции:

Вот так не сработает:
void func(object⚹ obj_ptr ) { obj_ptr = malloc(...); }
object⚹ ptr = NULL;
func(ptr); // ptr == NULL
потому что ptr передаётся по значению и в func это локальная переменная

Поэтому передают указатель на указатель:
void func(object⚹⚹ obj_ptr ) { ⚹obj_ptr = malloc(...); }
object⚹ ptr = NULL;
func(&ptr); // ptr != NULL

И соответственно ⚹⚹ это обычно либо код, который писал говноед, перекатившийся из С, либо это использование компонент, написанных на C.
Аноним 08/06/22 Срд 22:02:24 #1571 №2375248 
>>2375245
Спасибо, анон годно расписал. Да я sqlite функции изучаю там на с написано
Аноним 08/06/22 Срд 22:03:03 #1572 №2375249 
>>2375230
Либо это двумерный массив, например матрица
int matrix = new int*[4];
for (int i = 0; i < 4; ++i)
matrix = new int[4];
Аноним 08/06/22 Срд 22:05:13 #1573 №2375253 
>>2375249
int⚹⚹ matrix = new int⚹[4];
for (int i = 0; i < 4; ++i)
matrix = new int[4];
Аноним 09/06/22 Чтв 04:57:41 #1574 №2375434 
>>2375230
>А зачем нужен указатель на указатель? В чём смысл?
Чтобы вернуть указатель, очевидно.
Ошибка нубов и дебилов >>2375245 в том, что они думают что указатель это что-то особенное (типа ссылки), но это чушь. Указатель это просто переменная, как любая другая переменная. А что там конкретно хранится в переменной, тебя ведь не ебёт, когда ты учишь что такое переменные, верно?

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

Ты ведь согласен, что переменные нужны, верно? И указатели на переменные нужны, верно? Следовательно и указатели на указатели нужны, ведь указатели это и есть переменные. Указатель на указатель = указатель на переменную. Как можно спиздануть что это не имеет смысла?

Итого:
Указатель на указатель нужен там, где нужно вернуть адрес, что тут непонятного? Почему вернуть например структуру через указатель это нормально, а вернуть например адрес через указатель это что-то странное? Ничего странного, адреса - нужны, как и всё остальное, а значит и указатели на переменные с адресами (указатель) тоже нужны.

---
А то, что указатель можно разыменовать изображая из него ссылку, это свойство РАЗЫМЕНОВАНИЯ, а не указателя. Указатель и процесс разыменования это отдельные вещи, не надо их лепить в одно.

Указатель это просто переменная с адресом (числом). Адрес это ссылка на память, а память вся одинаковая, состоит из одинаковых байтов, так что все адреса одинаковые, а соответственно и указатели - переменные их содержащие тоже одинаковые. Поэтому придумали дурацкий тип void который ничего не значит, а служит только для указателей, как затычка для несуществующего нечто, на которое этот адрес якобы ссылается - в никуда, ибо в контексте текста программы нет такого объекта "память", есть только объекты данных в хранящиеся в памяти. А адрес не подразумевает никаких объектов, это всего лишь место в памяти, ячейка ОЗУ, - void, пустой несуществующий объект, точнее самой концепции объекта не существует, но синтаксис языка требует объекта, вот и затычка.

Так вот, вернувшись к началу. Указатель это не ссылка, ссылкой является разыменование, поэтому для разыменования нужен объект-цель как для любой ссылки. Но указателю это не нужно, не его проблемы.
Аноним 09/06/22 Чтв 07:16:49 #1575 №2375455 
>>2375434
>Чтобы вернуть указатель, очевидно
Нет. ⚹⚹ это также и способ задания многомерных массивов переменной длины. Например >>2375253. Соответственно void func(int⚹⚹ matrix) работает с матрицей и никаких указателей не возвращает.

В мире c++ подобная неоднозначность устраняется с помощью ссылки: void func(int⚹& vector). Если ты попытаешься в такую функцию передать матрицу, то получишь ошибку компиляции. Если же напишешь в стиле C, то получишь утечку/порчу памяти в рантайме.

Ссылки в языке с++ нужны для того, чтобы более точно и лаконично описывать поведение кода.

>указатель на переменную-указатель смысла не имеет
Многоэтажные указатели несут те же проблемы, что и c-style cast.

>чушь ёбаная, это буквально одно и то же
Вот такая операция неявно снимает константность:
int⚹⚹ a = nullptr;
const int⚹⚹ b = nullptr;
b = a;
Компилятор C++ выкинет ошибку, потому что такое в языке запрещено. Компилятор C скажет малаца и в рантайме будет беда.
Для обычных указателей такое присваивание легально.
Аноним 09/06/22 Чтв 09:44:48 #1576 №2375503 
>>2375455
Сорян, я не читал выше, просто прокомментировал насчет двойных указателей, зачем они нужны, что ответ самоочевиден. Если конечно понимать что такое указатели, а не путать их со ссылками.

>void func(int⚹⚹ matrix)
Если написал говнокод язык не виноват. Для матриц не нужны указатели, значит и нечего их пихать. Оберни как-нибудь красиво, чтобы без граблей пользователю твоих функций, включая тебя самого.
Аноним 09/06/22 Чтв 09:48:05 #1577 №2375504 
А я так и не понял чем ссылки от указателей отличаются, и то и другое вроде адрес в памяти, разве нет?
Аноним 09/06/22 Чтв 09:52:49 #1578 №2375506 
>>2375504
Ссылки это сахар, по сути указатель по умолчанию разыменованный.
Аноним 09/06/22 Чтв 09:55:20 #1579 №2375508 
>>2375506
аа ну так то да, мне же звездочку не приходится ставить при использовании
Аноним 09/06/22 Чтв 10:00:45 #1580 №2375511 
>>2375434
А твоя ошибка в том что ты думаешь будто бы переменная со звёздочкой - это реальный указатель. Нихуя подобного. Никто тебе не гарантирует что не получится dangling pointer после оптимизации. Делать указатель на указатель в крестах - быть конченым дебилом. Для борьбы с даунами уже даже volatile пытаются из языка убрать.
Аноним 09/06/22 Чтв 10:14:06 #1581 №2375516 
Вот бы работку для джуна...
Аноним 09/06/22 Чтв 10:15:07 #1582 №2375517 
>>2375511
>Никто тебе не гарантирует что не получится dangling pointer после оптимизации. Делать указатель на указатель в крестах - быть конченым дебилом.
Опять высосанный из пальца говнокод? Я же вроде ясно писал - возврат указателя. Твоя оптимизация его поломает? Нет? Ну вот и ответ.
Дауны это клоуны мнящие себя умниками, сидят придумывают хуйню как поломать компилятор. Ну поломал, и что? Зачем ты нужен такой?
Аноним 09/06/22 Чтв 10:37:04 #1583 №2375522 
>>2375517
> Твоя оптимизация его поломает?
Она может его поломать потом, когда ты его станешь использовать.
Аноним 09/06/22 Чтв 10:44:02 #1584 №2375526 
Почему у конце строки мусор? Как убрать?

char* d = new char[9];
for (int i = 0; i < 4; i++)
{
d = (rand() %10)+'0';
}
cout << &d[3];
Аноним 09/06/22 Чтв 10:45:24 #1585 №2375527 
>>2375517
> высосанный из пальца говнокод
> сидят придумывают хуйню как поломать компилятор
При этом половина багов памяти в сишном коде связаны с dangling pointer. Все прям сидят и специально ломают компилятор, да? А ведь можно просто не ложить хуй на рекомендации, они же очень простые: использовать вместо указателей везде где можно ссылки или unique_ptr, не использовать сишные массивы, не использовать больше одного указателя на участок памяти.
Аноним 09/06/22 Чтв 10:47:31 #1586 №2375528 
>>2375526
Ты какую-то хуйню написал. У тебя значения только первый элемент массива перезаписывают.
А мусор потому что строка должна оканчиваться \0
Аноним 09/06/22 Чтв 11:17:02 #1587 №2375545 
>>2375528
спасибо, поправил
Аноним 09/06/22 Чтв 11:30:45 #1588 №2375559 
>>2375516
Завод.
Аноним 09/06/22 Чтв 11:38:11 #1589 №2375563 
>>2373982
>пик
Кстати, а есть ли какое-нибудь расширение, в котором вместо всплывающего текста, показывалась бы аниме девочка, которая рассказывала бы этот текст? Необязательно для VS.
Аноним 09/06/22 Чтв 11:39:19 #1590 №2375564 
>>2375563
я не знаю, у меня на работе визуал студиа была уже с таким фото, я не стал убирать
Аноним 09/06/22 Чтв 11:57:46 #1591 №2375577 
>>2375434
>указатель это что-то особенное (типа ссылки), но это чушь.
Если мне память не изменяет, то в некоторых системах он мог иметь плавающий размер. Из-за разницы размеров машинного слова, и адреса памяти.

Имхо указатель - просто ячейчка, которая может куда-то указывать.
Аноним 09/06/22 Чтв 14:25:44 #1592 №2375691 
В чем преимущество VS Professional перед VS Community?
Аноним 09/06/22 Чтв 14:26:23 #1593 №2375693 
>>2375528
Двощ считает, что (скобка) i (скобка) это тег разметки italic.
Аноним 09/06/22 Чтв 15:22:58 #1594 №2375736 
>>2375691
V Pontax
Аноним 09/06/22 Чтв 15:26:55 #1595 №2375743 
image.png
>>2375559
>завод

Аноним 09/06/22 Чтв 15:37:37 #1596 №2375752 DELETED
Сап, как можно запилить отрисовку каркасной модели по координатам вершин, которые берутся из obj файла?
Аноним 09/06/22 Чтв 15:57:18 #1597 №2375765 
>>2375752
ну тебе надо библиотеку/самому написать 3д движка, наверняка там есть функция загрузки 3д модели
Аноним 09/06/22 Чтв 16:33:52 #1598 №2375778 
Сап, объясните долбаебу нахуя в плюсах макроссы?
Аноним 09/06/22 Чтв 17:35:31 #1599 №2375831 
>>2375778
Предположу что это груз наследства от СИ.

К слову как думаете дерективу #pragma once включат в стандарт или нет?
Аноним 09/06/22 Чтв 18:14:41 #1600 №2375860 
>>2375831
>Предположу что это груз наследства от СИ.
Их в разработке используют? Просто не понимаю нахуя мне на курсе "для начинающих" рассказывали 2 часа про макроссы, а в конце сказали что это хуйня без задач для долбаебов.
Аноним 09/06/22 Чтв 18:35:34 #1601 №2375872 
>>2375860
>используют?
Да. Они есть и в стандартной библиотеке. Например std::assert() сделан вот так:
#ifdef NDEBUG
# define assert(condition) ((void)0)
#else
# define assert(condition) /implementation defined/
#endif
В релизной версии он полностью удаляется из кода, иначе будет вызываться std::terminate и завершение программы.

Условная компиляция на макросах используется при сборке с разными сторонними либами (допустим directx/opengl) или аппаратными особенностями (cuda, sse, neon).

Аноним 09/06/22 Чтв 18:39:44 #1602 №2375874 
>>2375872
Да, и ещё это способ порешать проблемы с компиляторами c++ под разные версии стандарта.
Аноним 09/06/22 Чтв 19:54:45 #1603 №2375915 
>>2374506
Колбеки
Аноним 09/06/22 Чтв 19:57:07 #1604 №2375916 
>>2375516
Яндекс.
Аноним 09/06/22 Чтв 19:58:17 #1605 №2375918 
>>2375831
Да и с инклудгвардами норм
Аноним 09/06/22 Чтв 20:42:34 #1606 №2375945 
>>2375778
На функциональных макросах можно делать всякие интересные вещи, чисто текстовые, которые ты не сделаешь на шаблонах. Их часто используют во всяких бустах уровня hof, библиотеках юнит тестирования, да в том же кюте, но там все серьёзней (вообще свой препроцессор).
Аноним 09/06/22 Чтв 21:15:36 #1607 №2375979 
>>2375945
В макросах надо знать меру, чтоб не получалась магия. Но вообще на шаблонах и consteval можно всё тоже самое сделать. В современных STL уже нет макросов.
> кюте
Кал.
Аноним 09/06/22 Чтв 21:43:28 #1608 №2375987 
>>2375831
Да её уже наоборот выпиливать пора. С модулями она нах не нужна.
Аноним 09/06/22 Чтв 22:06:06 #1609 №2375993 
Есть ли альтернатива Qt для гуи? Насколько qml медленнее виджетов по производительности?
Аноним 09/06/22 Чтв 22:08:30 #1610 №2375995 
>>2375993
Смотря под какие задачи, альтернативы конечно есть и не мало.
> по производительности
У Qt в принципе производительность такая себе.
Аноним 09/06/22 Чтв 22:13:43 #1611 №2375998 
>>2375995
>У Qt в принципе производительность такая себе.
Вряд ли хуже электрона. Но в любом же случае универсальное и мейнстримное решение?
Аноним 09/06/22 Чтв 22:15:25 #1612 №2376000 
Я вместо qt использую win32 api гуй, очень хороший и быстрый. Рекомендую.
Аноним 09/06/22 Чтв 22:23:17 #1613 №2376006 
>>2376000
Не, у меня рабочая ось пингвин. А если без бубна кроссплатформа выйдет так вообще огонь.
Аноним 09/06/22 Чтв 22:33:26 #1614 №2376012 
>>2375998
> Вряд ли хуже электрона.
Хуже какого-нибудь WinUI 3. Как по производительности, так и по функционалу.
> универсальное и мейнстримное решение?
Ну что-то вроде винформса у шарпистов, Qt примерно такое же отсталое говно.
Но вообще всё упирается в задачу. Если надо написать побыстрее гуй без лишней ебли, то лучше и проще брать гибрид крестов с шарпом - шарп под фронт, кресты под бэк. Если нужна нативность, то брать нативный гуй - WinUI под виндой и GTK на линуксе. Если нужен красивый, то HTML+CSS - вариантов помимо электрона куча, в том числе и вполне производительных. Если нужен гуй для отзывчивых утилит с кучей элементов, то лучше взять какой-нибудь нормальный фреймворк на GPU без оверхеда и лишнего говна - CEGUI или ImGUI.
Аноним 09/06/22 Чтв 22:40:48 #1615 №2376015 
>>2376012
>гибрид крестов с шарпом
Звучит как Франкенштейн какой-то. Такое вообще где-то практикуется помимо репозиториев с 0 звёзд?
>HTML+CSS
Звучит как план но есть ли для них нормальные решения на крестах? Ну и чтобы целое двигло за собой не тащило.
Аноним 09/06/22 Чтв 22:41:53 #1616 №2376016 
оператор вставки токена
оператор вставки токена

Аноним 09/06/22 Чтв 22:48:11 #1617 №2376020 
в с++11 добавили вариативные макросы
Аноним 09/06/22 Чтв 23:00:12 #1618 №2376028 
при помощи и макросов и метапрограммирования на шаблонах можно осуществлять кодогенерацию
но макросы оперируют токенами языка, а при помощи оператора вставки токена могут так же генерировать новые токены, в то время как шаблоны работают только над типами, макросы используют там где шаблонов уже не хватает
а добавление во встроенный препроцессор вариативных макросов упростило и усилило возможности кодогенерации
Аноним 09/06/22 Чтв 23:09:32 #1619 №2376029 
>>2376016
>>2376020
>>2376028
Ты ебанулся, анон?
Аноним 09/06/22 Чтв 23:14:01 #1620 №2376032 
>>2376015
> Такое вообще где-то практикуется помимо репозиториев с 0 звёзд?
Почти в любом крупном гуевом проекте на шарпе. Там же отличная поддержка FFI.
Аноним 09/06/22 Чтв 23:17:01 #1621 №2376033 
>>2376032
В который раз убеждаюсь что кресты вечны на квесты как вов. Казалось бы только сегфолты на хуйне перестал ловить - бери да учи шарп.
Аноним 10/06/22 Птн 01:13:18 #1622 №2376104 
>>2376029
кормлю с ложечки
манная кашка
кушай, расти, кашка вкусная и полезная
Аноним 10/06/22 Птн 06:50:33 #1623 №2376141 
>>2375979
>Но вообще на шаблонах и consteval можно всё тоже самое сделать.
Нет, всякая строковая хрень не получится.
Аноним 10/06/22 Птн 07:40:13 #1624 №2376148 
>>2376012
Лол, фанбой шарпа. Хуже червя пидора: нихуя не знает, что-то советует.
Аноним 10/06/22 Птн 09:13:43 #1625 №2376194 
>>2376148
> фанбой шарпа
Где ты у меня увидел там про шарп, кроме предложения пилить простые кроссплатформенные гуи в стиле хуйк-хуяк на шарпе? Альтернатив этому просто нет, разве что так ненавидимые вами веб-рендеры. В любом случае, retained-гуй - это забагованый кал, гуй должен быть отделён от основного кода или хотя бы использоваться immediate-фреймворк.
А WinUI - это нативный гуй Винды на крестах в 2022, как бы ты не копротивлялся. Классический гуй на GDI уже легаси и не будет развиваться. Рендерить гуй на ЦП в 2022 уже должно быть стыдно.
Аноним 10/06/22 Птн 10:49:15 #1626 №2376267 
>>2376194
>WinUI
Мда.., шарпоскаму было мало шарпоговна, оно еще и uwp притащило, еще пара постов и будет втирать за html/js
Индусы совсем одебилели, уже на людей бросаются, нужно изолировать буйных.
Аноним 10/06/22 Птн 11:37:14 #1627 №2376291 
>>2376267
Анон с winui аргументировал свою позицию, ты же только срешь аки школьник. Еще кого-то буйным называешь, хах.
Аноним 10/06/22 Птн 12:23:27 #1628 №2376329 
>>2376291
Пусть аргументирует в своем шарпотреде, сраль.
Аноним 10/06/22 Птн 12:28:57 #1629 №2376331 
>>2376267
> uwp
Чел, UWP больше не разрабатывается и легаси, гуй там был WinUI 2, никакого отношения в актуальному не имеет. Актуальный WinUI 3 писался с нуля и работает на подсистеме Win32 но всё же есть обратная совместимость с UWP, майки услышали кодеров, поняли что идея UWP и контейнеризации были говном и сделали нормально. Актуальный API Винды - крестовый WinRT, только он разрабатывается сейчас, но и WinAPI никто не запрещает параллельно использовать. Привязку к Стору выпилили, софт распространяется MSIX-пакетами или напрямую экзешниками. Шизам уже просто не к чему доебаться.
> будет втирать за html/js
Фактически весь интерфейс Windows 11 сейчас на XAML, который компилируется в нативный код. Даже проводник и пэйнт на нём переделан. Всё рендерится на GPU.
Аноним 10/06/22 Птн 13:51:30 #1630 №2376386 
>>2376194
Ну фанбой ксамла.
Аноним 10/06/22 Птн 17:05:24 #1631 №2376534 
>>2376194
>Альтернатив этому просто нет, разве что так ненавидимые вами веб-рендеры.
Тот же Кют давно клал на нативные оконные функции и рисовался опеглом, с 6 версии может в вулкан и метал. Ты реально долбоеб который ничего не видет.
Аноним 10/06/22 Птн 17:48:38 #1632 №2376580 
Сап, в проге на qt есть модули(.pri). В одном из них есть свои подмодули, которые называются так же как и в основной части приложения. Файлы одинаковые, классы одинаковые, имеем множественное определение. Нашёл опцию object_parallel_to_source, которая раскидывает объектные файлы по папкам и нивелирует проблемы с одноимёнными файлами. Есть что-то что пофксит одинаковые названия классов, структур, переменных? Ограничит область видимости класса модулем/папкой. NameSpace не очень помогает, да и супергеморно руками всё править.
Аноним 10/06/22 Птн 18:13:19 #1633 №2376605 
>>2376534
> давно клал на нативные оконные функции и рисовался опеглом
Но работает он одинаково дерьмово. Самые уёбищные интерфейсы, которые я когда-либо видел как юзер, были именно на Qt. Возьми хотя бы qBittorrent, которым приходится пользоваться каждый день - эта параша работает как будто однопоточная срань на WinAPI, ещё и в нормальный HiDPI не может, регулярно распидорашивает его при перетаскивании на другой монитор.
Аноним 10/06/22 Птн 18:30:02 #1634 №2376635 
>>2376605
>Возьми хотя бы qBittorrent, которым приходится пользоваться каждый день
Юзай без фронта и не стони.
Аноним 10/06/22 Птн 18:32:13 #1635 №2376638 
>>2376605
Хз, по моему интерфейс кубита очень даже хорош.
Аноним 10/06/22 Птн 18:57:58 #1636 №2376662 
>>237660
Работает он как заявлено. То, что некоторые его использующие его являются дебилами, не делает его плохим. Делает дебилом тебя твои заявления, though.
Аноним 10/06/22 Птн 20:43:14 #1637 №2376726 
Как вкотиться в многопоточное пограммирование?
Аноним 11/06/22 Суб 00:29:57 #1638 №2376872 
>>2376726
Написать многопоточный калькулятор.
Аноним 11/06/22 Суб 00:30:40 #1639 №2376873 
>>2376872
Может, тебе ещё и змейку на сокетах?
Аноним 11/06/22 Суб 00:31:25 #1640 №2376874 
>>2376873
На пайпах.
Аноним 11/06/22 Суб 00:41:43 #1641 №2376886 
>>2376872
Толсто
Аноним 11/06/22 Суб 12:16:06 #1642 №2377104 
Как собирать консольные приложения, чтобы они занимали пару десятков килобайт? А то стоит статически прилинковать стандартные либы, и уже вес мегабайтами измеряется.
Или такой размер возможен только на c# так как все либы хранятся в винде?
Аноним 11/06/22 Суб 13:49:32 #1643 №2377151 
sqlite3.PNG
Есть кто по sqlite3? Пожалуйста. помогите. Что я делаю не так при вызове exec функции? Хули она не вызывает call back у меня, вообще ничего в консоль не выводится и никаких ошибок. Что я не так то сделал?

https://www.sqlite.org/c3ref/exec.html
ccылка на функцию в документации
Аноним 11/06/22 Суб 13:50:25 #1644 №2377153 
>>2377104
Ну очевидно что юзать либры которые доступны в винде по умолчанию. Я не претендую на истинность но наверное писать приложение с использованием windows.h либры он же win32api
Аноним 11/06/22 Суб 13:51:38 #1645 №2377154 
sqlite3.PNG
>>2377151
прокомментировал кое что чтобы вам было проще код понять
Аноним 11/06/22 Суб 14:25:16 #1646 №2377168 
>>2377154
Твоя проблема в
>function pointer
Аноним 11/06/22 Суб 14:34:23 #1647 №2377171 
пофиксил спасибо.PNG
>>2377168
спасибо, анон огромное. пофиксил. я просто нафаня, первый раз на практике делал указатель на функцию
Аноним 11/06/22 Суб 15:20:46 #1648 №2377191 
>>2377171
Чел, может лучше на modern c++ поднажать? А то пишешь как дед-пердед в стиле C.

через объявление типа указателя:
using func_ptr_t = decltype(&callback_function);
func_ptr_t func_ptr = callback_function;

или сразу объявление переменной:
auto func_ptr = callback_function;

Аноним 11/06/22 Суб 15:23:23 #1649 №2377192 
>>2377191
спасибо, я о таких конструкциях просто не знал. учился в основном по С книге, с++ читал но упор больше на классы и шаблоны там делал, стараясь не обращаться внимания на то что итак есть в си.
Аноним 11/06/22 Суб 15:24:42 #1650 №2377194 
>>2377192
Лучше напиши отдельный класс для работы с sqlite
Аноним 11/06/22 Суб 15:28:31 #1651 №2377198 
>>2377194
Спасибо, но это всё для меня сейчас пустые слова. Мне бы сейчас минимально базово научиться хоть что-то делать, потом уже можно будет переписывать код лучше, думать о каких-то классах. Я щас даже не могу высрать хотя бы как могу то что мне нужно.
Первая серьёзная программа крупная
Аноним 11/06/22 Суб 18:44:17 #1652 №2377321 
>>2377171
Нахрена нужен отдельный указатель, если и так есть функция? Имя функции и есть указатель же.
Аноним 11/06/22 Суб 18:51:20 #1653 №2377323 
>>2377321
>Имя функции и есть указатель же
Хуя у вас тут в палате №6 запоздалое обострение.
Аноним 11/06/22 Суб 19:04:06 #1654 №2377332 
>>2377323
>>2377191
>лучше на modern c++ поднажать
Аноним 11/06/22 Суб 19:04:10 #1655 №2377333 
>>2377321
Их так в книжках учат. Там ещё и пишут, что функцию через указатель надо вызывать как (*fp)(args), когда можно просто fp(args).
Аноним 11/06/22 Суб 19:05:29 #1656 №2377336 
>>2377321
>>2377323
Кстати, да. Анон а поясни в чём отличие между указателм функции и прямым вызовом функции? Разве обычный вызов функции не перенаправляет на исполнямый её блок кода?
Аноним 11/06/22 Суб 19:16:34 #1657 №2377345 
>>2377336
Ебать не должно
Аноним 11/06/22 Суб 19:18:42 #1658 №2377348 
>>2377345
Новый мем узнал?
Аноним 11/06/22 Суб 21:22:02 #1659 №2377421 
>>2377336
В том, что имя функции - константный указатель.
void f(int a){}
void g(int b){}
auto ptr = f;
f = g нельзя, ptr = g можно.

Аноним 11/06/22 Суб 22:03:21 #1660 №2377435 
>>2377421
А если указатель объявить const, разницы никакой?
Аноним 11/06/22 Суб 22:25:04 #1661 №2377443 
>>2377435
Не совсем. Время инициализации разное. Имя функции получает своё значение на этапе компиляции, ⚹ const - во время выполнения.
Аноним 11/06/22 Суб 22:40:57 #1662 №2377457 
>>2377421
>имя функции - константный указатель
существует неявное преобразование, так корректней
Аноним 11/06/22 Суб 22:45:16 #1663 №2377462 
>>2377104
неужели уже в интернете пропали все эти статьи и форумные посты как делать парукилобайтные экзешники и новое поколение мамкиных хакеров вынуждено подниматься на эверест заново?
Аноним 11/06/22 Суб 22:49:40 #1664 №2377465 
>>2376726
с учебными целями пишешь fpt-сервер, например
в процессе написания как раз и освоишь и многопоточку и сетевое программирование
алсо, если хуево кодишь то первым учебным проектом можешь написать компилятор яп, например того же оберона

Аноним 11/06/22 Суб 22:58:03 #1665 №2377469 
Как же заебали растошизы, просто пиздец какой-то.
Аноним 11/06/22 Суб 23:00:17 #1666 №2377472 
>>2377104
1. Используешь сторонние библиотеки по-минимуму, желательно вообще только стандартную+winapi.
2. Пишешь на C вместо плюсов.
3. При компиляции выставляешь флаги, чтобы оптимизировали размер (обычно за счёт понижения скорости работы).
4. Через strip выкидываешь таблицу символов и прочее.
Аноним 11/06/22 Суб 23:12:34 #1667 №2377485 
>>2377472
>winapi
Бля, когда же вас копрофилов банить начнут.
Аноним 11/06/22 Суб 23:16:09 #1668 №2377493 
>>2377485
Не вижу ничего плохого в winapi. Интересная и прикольная штука открывающая целый спект возможностей, зная winapi можно даже на ассемблее под винду писать
Аноним 11/06/22 Суб 23:28:34 #1669 №2377504 
>>2377485
А какие альтернативы? Можно не брать винапи, обмазаться каким-нибудь Qt и получить хеллоуворлды на 50 мегабайт, но исходной цели 20 килобайт это не соответствует.
Аноним 11/06/22 Суб 23:44:46 #1670 №2377511 
image.png
image.png
Почему в последнем случае надо явно float указать?
Аноним 12/06/22 Вск 00:19:18 #1671 №2377517 
>>2377511
Не юзай float
Аноним 12/06/22 Вск 00:26:08 #1672 №2377518 
>>2377517
Почему?
Аноним 12/06/22 Вск 02:15:03 #1673 №2377547 
image.png
image.png
>>2377511
Как я понел, там неявное приведение лямбды к указателю на функицю не срабатывает. Допиши "+" перед лямбдой, чтобы насильно привести её

И я как-то хз, почему не сделать просто ещё один шаблонный параметр вместо указателя, чтобы функция принимала любой callable, а не только указатели?
Аноним 12/06/22 Вск 16:29:33 #1674 №2377922 
Блет один и тот же код в мейне, на тех же компиляторах, с той же версией языка, в той же иде, но на разных системах сборки (qmake, cmake) работает по-разному. Это вообще как нахуй
Аноним 12/06/22 Вск 16:41:07 #1675 №2377943 
>>2377922
Они разные флаги компилятора выставляют.
Аноним 12/06/22 Вск 17:04:06 #1676 №2377977 
>>2377922
дай пример. Интересно
Аноним 12/06/22 Вск 17:06:29 #1677 №2377980 
https://www.boost.org/doc/libs/1_79_0/doc/html/boost_asio/overview/implementation.html

>For sockets, only client-side TCP is supported.
Что блядь? А как работают примеры с сервером?
Аноним 12/06/22 Вск 17:25:35 #1678 №2378008 
Как накатить gcc 12 на шинду без злоебучих костылей? Да хоть что-нибудь, что модули поддерживает и не от майкрософт
Аноним 12/06/22 Вск 17:53:21 #1679 №2378025 
>>2378008
Куда ты так торопишься?
Аноним 12/06/22 Вск 18:04:06 #1680 №2378034 
>>2378008
>gcc 12 на шинду
msys2?
>что модули поддерживает и не от майкрософт
а какие сборщики поддерживают модули сейчас?
симейк вроде не поддерживает
ты будешь вручную прописывать команды компилятора?
Аноним 12/06/22 Вск 18:15:01 #1681 №2378044 
>>2377977
https://pastebin.com/1BMgX0Hy
Аноним 12/06/22 Вск 18:16:52 #1682 №2378048 
>>2378044
Делать тебе нехуй, сервера на винапи писать.
Аноним 12/06/22 Вск 18:29:09 #1683 №2378059 
>>2378048
Qt socket тоже гавно какое то если честно, ебал эти сигналы хуялы.
Я разные либы тестирую. Собсно мне нужна небольшая часть кода и на асио у меня есть рабочая версия, но чет впадлу тянуть стороннюю либу, когда можно нативными инструментами обойтись
Аноним 12/06/22 Вск 18:32:12 #1684 №2378063 
>>2378059
Winapi тоже сторонняя либа.
Аноним 12/06/22 Вск 18:36:12 #1685 №2378070 
>>2378059
QtSocket очень удобная и легкая в использовании либа.
Аноним 12/06/22 Вск 18:36:38 #1686 №2378071 
>>2378063
А stl, qt какие либы? Winapi в винду так то зашита, а за бустом надо идти куда то, я это имел ввиду
Аноним 12/06/22 Вск 18:41:43 #1687 №2378077 
>>2378070
Наверное так и есть. Но она у меня подбаговано работала, принимает пустые сообщения иногда, с асио таких проблем нет. И асио быстрее работает
Аноним 12/06/22 Вск 18:53:59 #1688 №2378091 
>>2378071
Stl стандартная, но пока что не поддерживает сокеты.
Аноним 12/06/22 Вск 19:05:36 #1689 №2378101 
>>2378091
Надеюсь никогда и не будет
Аноним 12/06/22 Вск 22:04:57 #1690 №2378266 
>>2378077
>И асио быстрее работает
Как тестировал?
Аноним 12/06/22 Вск 22:40:44 #1691 №2378283 
>>2378266
В кутах тулза есть чел
Аноним 12/06/22 Вск 22:54:07 #1692 №2378302 
>>2378283
Т.е. кутовая тула показала, что сокеты Qt медленнее Asio ? ? ?
Аноним 12/06/22 Вск 23:15:34 #1693 №2378327 
Как написать FTP сервак на асии?
Аноним 12/06/22 Вск 23:28:27 #1694 №2378344 
>>2378283
Что за тулза, что тестировать?

>>2378327
Пальцами по клавиатуре // блядь, я хуею с таких вопросов
Аноним 12/06/22 Вск 23:29:38 #1695 №2378348 
>>2378344
А куда код писать?
Аноним 12/06/22 Вск 23:35:13 #1696 №2378353 
>>2378348
В IDE // тьі студентота?
Аноним 12/06/22 Вск 23:37:04 #1697 №2378356 
>>2378302
По секрету рассказала, только шш
Аноним 12/06/22 Вск 23:47:03 #1698 №2378370 
>>2378353
Я крепкий мидл 2 года опыта
Аноним 13/06/22 Пнд 09:44:41 #1699 №2378535 
>>2377472
> Пишешь на C вместо плюсов.
Шиз, плиз. Си-компиляторов не существует в 2022 году. А вообще в Винде просто релизный билд собирает бинарники размером в ~15 кб, остальное уже как сам наговнокодишь. Я вот писал простенький виндовый сервис с TCP-интерфейсом к нужному API одной либы, чтоб потом цепляться по вайфаю с ведроида - получил экзешник 18 кб, потребление ОЗУ 900-1600 кб. Естественно использовал ноль зависимостей, только API винды. Специально ничего для уменьшения размера не делал, просто писал на крестах как обычно.
Аноним 13/06/22 Пнд 15:47:35 #1700 №2378698 
>>2378535
>просто писал на крестах как обычно.
Не пизди. Ты просто высрал 500 строк кода без классов в main.cpp
Аноним 13/06/22 Пнд 16:24:51 #1701 №2378728 
>>2378698
Он написал программу, а у тебя пердак порвался. Вот и вся история.
Аноним 13/06/22 Пнд 16:28:32 #1702 №2378729 
>>2378728
Вот это ты меня урыл от 3 лица.
Аноним 13/06/22 Пнд 16:37:43 #1703 №2378734 
>>2378698
В чём вообще проблема? Голый хелоу ворлд даже меньше 15 кб весит, а в O2 все классы ликвидируются, минимум отличий от простыни сишного кода. Просто используй системное API, а не всякие бесполезные комбайны вроде буста или Qt.
Аноним 13/06/22 Пнд 17:24:49 #1704 №2378779 
>>2378734
>Голый хелоу ворлд даже меньше 15 кб весит
Если у тебя 5 строк кода весят ~15кб то ты явно не тем по жизни занимаешься.
Аноним 13/06/22 Пнд 18:22:55 #1705 №2378835 
>>2378779
Чел, не бывает экзешника из голого main. У тебя всегда перед выполнением твоего кода происходит инициализация рантайма и окружения. Ты первый день что ли?
Аноним 13/06/22 Пнд 18:38:44 #1706 №2378850 
>>2378835
>не бывает экзешника из голого main.
А ведь когда-то были, в DOS .com файлы, но тому даунёнку конечно неоткуда знать.
Аноним 13/06/22 Пнд 22:31:43 #1707 №2379059 
>>2378850
Ты даунёнок. Речь про твои dos com файлы или exe?
Аноним 13/06/22 Пнд 22:44:57 #1708 №2379072 
Dos exe файлы.
Аноним 14/06/22 Втр 02:04:56 #1709 №2379150 
у меня ща браузер лопнет нах
перекат будет или всем норм что тред минуту открывается?
Аноним 14/06/22 Втр 02:32:25 #1710 №2379155 
>>2379150
Перекати.
Аноним 14/06/22 Втр 12:31:10 #1711 №2379370 
Сорян за нубовопрос: как включить freeglut.dll в exe при компиляции? Желательно на примере codeblocks. Знаю, что так делать не принято, но просто два файла уж больно уебищно выглядят. Один exe-шник для небольшой проги проще и красивше
Аноним 14/06/22 Втр 12:39:01 #1712 №2379375 
>>2379370
Если коротко - никак. Либо бери статическую либу, либо вручную делай маппинг dll.
Аноним 14/06/22 Втр 12:39:43 #1713 №2379377 
>>2379370
Никак ты DLL в EXE не включишь, тебе нужна отдельная статическая версия либы. Гугли "freeglut static linking". Но там свои изъёбства, может понадобиться линковать ещё больше либ, чем с DLL.
Аноним 14/06/22 Втр 13:18:03 #1714 №2379402 
>>2379370
Запихни dll в ресурсы, а при запуске программы сохрани во временную папку и оттуда загружай через LoadLibrary()
Аноним 14/06/22 Втр 13:45:57 #1715 №2379446 
>>2379377
>>2379375
>>2379402
Спс за ответы. Понял свою ошибку. DLL - вообще не про включение в exe. Спрошу еще: как в codeblocks задавать строку параметров компилятора? А то пока приходится вручную компилить (но оно хотя-бы работает без dll теперь)
Аноним 14/06/22 Втр 13:51:47 #1716 №2379451 
изображение.png
>>2379446
https://wiki.codeblocks.org/index.php/FAQ-Compiling_(general)
Аноним 14/06/22 Втр 14:58:06 #1717 №2379488 
>>2379451
Спс, чуть позже изучу
Аноним 14/06/22 Втр 15:11:13 #1718 №2379501 
>>2379150
Хромоног закукарекал.
Аноним 14/06/22 Втр 15:33:01 #1719 №2379512 
Я сегодня перекачу
Аноним 14/06/22 Втр 16:11:47 #1720 №2379559 
Есть какой-нибудь адекватный способ проитерироваться по файлам в папке в порядке их времени создания? Нужно вообще достать самый последний сохрененный файл, но видимо придется всю папку обойти?
Аноним 14/06/22 Втр 16:19:57 #1721 №2379566 
>>2379559
Смотря что у тебя за ФС там. В винде если включена индексация, то можешь через запрос Windows Search SQL получить файл из индекса. Если пердоликс с ext4, то не выёбывайся и обходи вся папку.
Аноним 14/06/22 Втр 16:24:48 #1722 №2379572 
>>2379566
Сук пздц за что. Это долго и все лагает
Аноним 14/06/22 Втр 18:06:33 #1723 №2379661 
Ладно, что-то меня затрахало самому ковырять: как запилить в glut плавное перемещение на низких скоростях (меньше пикселя в секунду)? Все дергается, ебать. Видно, что фигуры перемещаются скачками в 1 пиксел
Аноним 14/06/22 Втр 18:17:49 #1724 №2379664 
>>2379661
Как обычно, разобрался сам, сразу после того, как спросил. Нужен мультисемплниг крч. Хотя пока все равно не особо въехал, как его количественно задавать.
Аноним 14/06/22 Втр 18:37:19 #1725 №2379681 
>>2379664
Ок, и с этим тоже разобрался. Всем спасибо за внимание.
Аноним 14/06/22 Втр 21:42:35 #1726 №2379863 
Почему в qt6 убрали qvector? Теперь это qlist с другим именем.
Аноним 14/06/22 Втр 21:49:31 #1727 №2379867 
>>2379863
Потому что могут. И хули ты им сделаешь?
Аноним 14/06/22 Втр 21:50:19 #1728 №2379869 
>>2379863
А это чо? https://doc.qt.io/qt-6/qvector.html
Аноним 14/06/22 Втр 21:51:32 #1729 №2379871 
>>2379869
Ты дурак?
> QVector is an alias for QList
Аноним 14/06/22 Втр 21:53:22 #1730 №2379874 
Перекатил https://2ch.life/pr/res/2379873.html
Аноним 14/06/22 Втр 22:05:56 #1731 №2379890 
>>2379874
Перекат говно, сидим дальше тут хотя бы до 2500.
Аноним 14/06/22 Втр 22:06:56 #1732 №2379891 
>>2379890
Что не так?
Аноним 14/06/22 Втр 22:10:01 #1733 №2379893 
1564968348094.webm
>>2379891
ОП - пидор. Ненавижу пидоров.
Аноним 14/06/22 Втр 22:11:11 #1734 №2379895 
>>2379893
Ясно
Аноним 15/06/22 Срд 21:17:16 #1735 №2380678 
Компилил вручную glut-прогу вот этими командами
1) gcc -c -o 1.o main.cpp -D FREEGLUT_STATIC -I"C:\MinGW\include\GL"
2) gcc -o 1.exe 1.o -L"C:\MinGW\lib" -lfreeglut_static -lopengl32 -lwinmm -lgdi32 -Wl,--subsystem,windows
Добавил в прогу #include <math.h> #include <string> и функции этих библиотек. В кодблоке (с динамической либой glut) все компилится нормально, а вот в командной строке выполняется, почему-то, только первая команда. Как дополнить вторую (а может еще и первую) команду, чтобы все заработало?
Я прост рили пока нуб, не бейте сильно.
Аноним 15/06/22 Срд 21:20:37 #1736 №2380681 
>>2380678
Навскидку жеппой чую, что сюда надо стринговую и\или математическую либу как-то прилинковать, только хз как.
Аноним 15/06/22 Срд 23:30:33 #1737 №2380736 
std::move(vec) имеет смысл когда либо писать? Оно же просто скопирует объект, да?
Аноним 15/06/22 Срд 23:47:49 #1738 №2380744 
>>2380736
Там std:move(vec)
Аноним 15/06/22 Срд 23:48:17 #1739 №2380745 
>>2380744
Блядь, короче там после мува обращение по индексу еще
Аноним 20/06/22 Пнд 22:47:42 #1740 №2384840 
>>2380736
Что такое vec? Если тривиальный тип, то копи конструктор, если есть мув, то он будет вызван.
Аноним 20/06/22 Пнд 23:15:06 #1741 №2384856 
>>2380736
Это не копирование, а приведение типа - static_cast<T&&>(T vec). Применяется как обычно - приводишь аргумент к нужному типу, чтобы вызвать соответствующий ему метод.
Аноним 22/06/22 Срд 04:30:17 #1742 №2385925 
C# (exc).png
image.png
image.png
Решил расширить область навыков в плюсах и захуярить условный хеллоуворлд с UI, чтобы посмотреть, как эта хуйня выглядит изнутри и заодно сравнить с шарпом, почему бы и нет. Собственно, весь код https://nekobin.com/tebejizela программы сгенерен вижуанал студией.

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

Покопавшись в доках мелкософтов, к какому-то конкретному выводу так и не пришёл. Разве что создать в пустом проекте ресурс с диалоговым окном (В котором все свистоперделки на месте) и делать всё с нуля, в т.ч. инициализацию окошка.

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

Аноним 22/06/22 Срд 09:06:45 #1743 №2385978 
>>2385925
Всё верно, в винапи нет ничего визуального кроме ресурсов, так что без ресурса диалогового окна лепить кнопочки просто некуда, ведь твоё окно создается кодом, а не грузится из ресурса (смотри код, дура).

Там сгенерилось еще окно "О программе..." показываемое через меню "Помощь", вот посмотри его ресурс и код который окно из ресурса создает и показывает на экран, а потом замени код выводящий на экран главное окно на код этого диалога, чтобы при запуске программы показывался этот диалог, и лепи туда свои кнопочки. Вот тебе и программа куда можно лепить визуально, а ставший ненужным код старого окна удали.
Аноним 22/06/22 Срд 14:22:35 #1744 №2386247 
>>2385978
Ну об этом я и думал. Только какую тогда роль играет ресурс меню, если он может показывать только тулбар в верхней части окошка?
Аноним 22/06/22 Срд 16:30:41 #1745 №2386408 
>>2386247
У окна есть атрибут меню (смотри код создания окна, дура), куда меню присваивается как и остальные атрибуты.
А в виде ресурса просто для демонстрации применения ресурсов, ну и проще же мышкой редактировать.

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

Это в шарпе генеренный код - магия, куда лезть руками нельзя, а в чистых сях это наоборот прямой твой код, в него нельзя не лезть, это тупо пример для демонстрации, который ты сам должен своими руками писать, или по крайней пере переделывать как тебе надо. Должен смотреть и понимать что там происходит, как раз удобно для примера расписано же. Иначе хули ты приперся вообще, клоун?
Аноним 22/06/22 Срд 18:17:05 #1746 №2386485 
>>2386408
Быстро же ты на говно извёлся.
>У окна есть атрибут меню
Знаю, и что с того? Хочу высрать кнопку посередине окна, мои действия?

На вопрос в >>2386247 лучше бы ответил, вместо того, чтобы так трястись.
Аноним 22/06/22 Срд 18:41:18 #1747 №2386500 
>>2386485
Код ответит на все вопросы, тупорылая свинина, не может осилить пару небольших функций выложенных студией на блюдечке. Кто тебя еще с ложечки будет кормить, тупое недоразвитое говно, мамашу-шлюху попроси, может поняньчится со своеё личинкой.
Аноним 22/06/22 Срд 18:48:48 #1748 №2386507 
>>2386485
Кнопка это то же самое, что и окно.

1. Находишь метод InitInstance(...)
2. Хуячишь туда:
HWND hwndButton = CreateWindowW(
L"BUTTON", L"OK",
WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,
10, 10, 100, 100, // координаты
hWnd, // дескриптор родительского окна
NULL,
(HINSTANCE)GetWindowLongPtr(hWnd, GWLP_HINSTANCE),
NULL);
3. Там же:
ShowWindow(hwndButton, nCmdShow);
UpdateWindow(hwndButton);

Но лучше через такую залупу не делать, а выбрать какой-нибудь фреймворк типа QT, MFC или ещё чего.
Аноним 22/06/22 Срд 19:52:52 #1749 №2386550 
АХАХА.mp4
>>2386500
Ебать тебя рвёт с простых вопросов.
Я код смотрел, поэтому и спрашиваю здесь. Ты же, в свою очередь, либо неумело троллишь тупостью, либо с серьёзным ебалом бугуртишь из-за того, что пытается разобраться в плюсах лучше тебя.

>>2386507
Спасибо, учту.
Аноним 23/06/22 Чтв 12:14:38 #1750 №2386985 
>>2386550
Это не простые и не вопросы. Это охуевшая свинина хочет залезть на шею, хочет няньку-слугу, которая за него всё думать и делать будет. Типичный дегенерат.
Аноним 02/07/22 Суб 05:04:03 #1751 №2394103 
>>2345617 (OP)
Можно ли обойтись без Microsoft Visual Studio?
Аноним 03/07/22 Вск 20:27:14 #1752 №2395449 
>>2394103
Да. Подбери IDE под себя и систему сборки проекта.
Аноним 04/07/22 Пнд 13:21:26 #1753 №2395907 
>>2386985
Эта "охуевшая свинина" сейчас в одной комнате с тобой, анон?
акак выучить алгоритмы и структуры Аноним 26/08/22 Птн 03:10:25 #1754 №2445648 
Доброго времени суток, аноны! Подскажите, есть ли норм способ фастом выучить алгоритмы и структуры данных? Сейчас смотрю видосы на ютубе от препода М(ФТИ), но их штук 40 и они по 1.5 - 2 часа. Может быть, есть какие-нибудь годные книжки или видео-уроки?
comments powered by Disqus

Отзывы и предложения