Главная Юзердоски Каталог Трекер NSFW Настройки

Программирование

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 1753 168 280
С++ thread #134 /cpp/ Аноним 27/04/22 Срд 23:15:42 2345617 1
1.JPG 1448Кб, 3920x2016
3920x2016
2.png 57Кб, 857x632
857x632
Аноним 27/04/22 Срд 23:55:35 2345643 2
Аноним 28/04/22 Чтв 00:32:41 2345649 3
>>2345617 (OP)
Что читать по win api 64 кроме Харта?
Аноним 28/04/22 Чтв 00:33:47 2345650 4
Аноним 28/04/22 Чтв 00:44:39 2345655 5
>>2345650
Спасибо но я новичок и мне хотелось бы что-нибудь для вступления.
Аноним 28/04/22 Чтв 00:46:15 2345656 6
https://gcc.godbolt.org/z/bTb1qPjsb
Есть у кого идеи, как починить точность? Или хотя бы определить, кто виноват, чтобы точечно отработать.
Аноним 28/04/22 Чтв 01:00:41 2345660 7
>>2345656
Не совсем понял в чем проблема. Опиши по-подробнее.
Аноним 28/04/22 Чтв 01:04:22 2345663 8
>>2345660
Может, я покажусь уёбком самоуверенным, но всё равно скажу-- если ты не понял, в чём там проблема, то вряд ли ты сможешь мне помочь.
Аноним 28/04/22 Чтв 01:05:06 2345664 9
>>2345660
А так, если просто интересно, я там кубическое уравнение решаю, и меня не устраивает точность в некоторых случаях.
Аноним 28/04/22 Чтв 01:07:51 2345665 10
>>2345664
Попробуй double вместо float. Может лучше будет.
Аноним 28/04/22 Чтв 01:10:08 2345666 11
>>2345665
С даблом там точно так же будет иногда выпадать, просто гораздо реже. На флоатах хорошо видно, что алгоритм не очень корректно с точностью обходится.
Аноним 28/04/22 Чтв 01:12:22 2345667 12
>>2345666
Думаю проблема в округлении.
Аноним 28/04/22 Чтв 01:24:45 2345669 13
>>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 2345670 14
>>2345669
-std=c++20 или его аналоги
Аноним 28/04/22 Чтв 01:38:12 2345672 15
>>2345649
>>2345655
новичек в чем? тебе нужно портировать приложение win32 на win64? или просто обеспечить стабильную работу win32 на win64?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

>А можешь подсказать, стоит вообще щас на Д смотреть как расширение кругозора
Для такого можешь и посмотреть вообще на что угодно, там много крутой фигни вроде миксинов. Просто он проебал все ниши куда его можно было засунуть и теперь годен только для такого вот досуга.
Аноним 30/04/22 Суб 18:34:13 2347495 103
16500156730160.jpg 45Кб, 700x528
700x528
>>2347485
Лабы делал, а что такое асм так и не понял.
Аноним 30/04/22 Суб 18:46:07 2347499 104
>>2347495
Очередной не может в аргументирование своей точки зрения?
Аноним 30/04/22 Суб 19:01:24 2347505 105
>>2347499
Чел ну херня у тебя в том, что асм близкий к машинному коду, хотя это машинный код всегда и есть
мимо другой чел
Аноним 30/04/22 Суб 19:16:56 2347514 106
>>2347505
Не совсем, во первых асм это текст. Во-вторых в асме есть макросы, перегруженные мнемоники (mov в асме это и мув в память и в регистр), идентификаторы для меток итп
Аноним 30/04/22 Суб 19:21:55 2347516 107
>>2347505
Нука-нука поясни, что коенкретно ты имеешь в виду. Запасаемся попкорном.
Аноним 30/04/22 Суб 19:38:56 2347523 108
Был массив объектов, который записали в память. У меня есть указатель на этот массив. Если я просто скастану нужный кусок памяти к объекту (точнее даже к структуре; никаких методов нет, просто друг за другом переменные идут), то мне анализаторы ругаются на ub. Что им не нравится и что мне делать?
Аноним 30/04/22 Суб 19:40:14 2347524 109
Аноним 30/04/22 Суб 19:43:32 2347527 110
>>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 2347532 111
>>2347527
>int, int
>[8]
Инты не всегда 4 байта и надо учитывать выравнивание структуры.
Аноним 30/04/22 Суб 19:52:56 2347535 112
>>2347532
Ну int32_t, окей. Это не так важно тут. Вопрос не в этом, я просто забыл дописать точный размер
Аноним 30/04/22 Суб 19:54:56 2347537 113
>>2347535
Я в этом куске кода не вижу уб.
Аноним 30/04/22 Суб 20:01:00 2347542 114
>>2347537
Оно есть. Нельзя обращаться к массиву char'ов, как к объектам типа T. Это,вроде, нарушение strict aliasing rule.
Я помню, что так нельзя делать, потому что есть замечательный пример когда это стреляет, но сейчас писать немного лень. Вот я хз как фиксить это
Аноним 30/04/22 Суб 20:06:05 2347548 115
>>2347415
>Как бы, удобно, что из С есть возможность перейти к заимствованию фич
Да, но там из фич есть ещё и сомнительные штуки уровня медленной компиляции. Не забываем, что интероперабельность между сями и крестами охуенная (внезапно лучше, чем между крестами и крестами), поэтому лучше, если уж нужно дорабатывать крестовый проект например - сишную часть писать на си, а не крестах (и ни в коем случае не компилировать её крестовым компайлером, хотя он это и может). Есть и другие причины держать сишный код в сях.
>>2347425
Пошло нахуй от личности, говно.
>>2347427
Норм язык, лучше и чище крестов, эдакие кресты-которые-сделаны-правильно.
>>2347430
>Плюс спп это выразительность и низкоуровневость
Выбери одно. Ооп в крестах не работает, за ооп надо идти в другие языки. В итоге имеем всё тот же низкоуровневый язык, просто возмождностей выстрелить в ногу стало неизмеримо больше. Почему так - выше говорил.
Фичи фичами, а кор языка-то не работает.
>Очередной крестовик не может в аргументирование своей точки зрения?
Вопросы к тому, кто это написал, а не ко мне. Я не позволяю себе таких дерзостей первым.
>>2347438
Пошло нахуй, говно х2. Либо разговариваешь как человек, либо теряешь право участвовать в дискуссии.
Аноним 30/04/22 Суб 20:11:27 2347554 116
>>2347480
То что у тебя интересное представление об инкапсуляции, я уже заметил, но private и protected это не инкапсуляция, когда багованный код (заметь, в отличие от джавы - именно багованный код, а не сознательное залезание ручками) может переписать всю память.
У меня простой вопрос: если у меня есть указатель на объект - этот указатель может быть испорченным? Что случится, если я начну что-то с ним делать? Программа крашнется или может случиться кое-что похуже? Вот в целом и всё, что мимокроку нужно знать по теме "инкапсуляция в с++"
Аноним 30/04/22 Суб 20:12:05 2347556 117
>>2347527
Размер структуры (в байтах) получай через sizeof(s). Фактический размер зависит от компилятора (он делает выравнивание, а также добавляет указатели на таблицу/ы виртуальных функций и указатели на виртуальных предков) и от размера типов (int не обязательно 4).
То есть надо так:
s x = reinterpret_cast<s>(data + sizeof(s) * element_id);
Аноним 30/04/22 Суб 20:13:30 2347559 118
>>2347542
Кто тебе говорит, что там неопределенное поведение компилятор или анализатор, какие версии?
https://godbolt.org/z/8WT5he51M
Аноним 30/04/22 Суб 20:38:08 2347584 119
>>2347548
>>Плюс спп это выразительность и низкоуровневость
>Выбери одно. Ооп в крестах не работает, за ооп надо идти в другие языки. В итоге имеем всё тот же низкоуровневый язык, просто возмождностей выстрелить в ногу стало неизмеримо больше.
Почему ооп не работает? Ну и ооп это не то, что отличает выразительные от невыразительных или низкоур от высокоур. В хаскеле нет ооп.

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

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

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

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

>Вот в целом и всё, что мимокроку нужно знать по теме "инкапсуляция в с++"
Где тут инкапсуляция? При чём она тут вообще?
Аноним 30/04/22 Суб 20:39:40 2347587 121
>>2347548
>Пошло нахуй, говно х2. Либо разговариваешь как человек, либо теряешь право участвовать в дискуссии.
Жесть залётные нормисы ныне обидчивые.
Привыкай зайка, тут такие правила.
Аноним 30/04/22 Суб 20:46:32 2347594 122
Аноним 30/04/22 Суб 20:47:27 2347596 123
>>2347514
>Не совсем, во первых асм это текст.
Асм — это конкретно представление машинного кода.

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

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

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

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

или могу так

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Суть любого собеса — доебаться вопросами, не имеющими отношения к работе зачастую и сбить цену, так не только в плюсах, так вообще везде, привыкай.
Аноним 02/05/22 Пнд 11:50:13 2348458 231
Аноним 02/05/22 Пнд 12:16:25 2348472 232
>>2348381
1. Идиомы это просто идиомы. Сегодня они актуальны, а завтра тебя за них ногами пиздят (за паттерны синглтон, фабриаки, за блокировку с двойной проверкой и т.д.).
2. Просто забей.
3, 4. Увы, но знать надо. Язык про ручное управление ресурсами. Исключения в конструкторе/деструкторе, pwc, нехватка памяти - с этим придётся бороться на практике.
Аноним 02/05/22 Пнд 14:04:30 2348539 233
>>2348385
Нет, язык позволяет вполне красивые вещи. Проблема в том, что эти красивые вещи вполне делаются и на более удобных языках, а на плюсах делают то, особо по красоте и не сделаешь. Я так думаю. Всякие наивные вызовы, байтоёбство и прочий high performance, где красотой жертвуют.
Аноним 02/05/22 Пнд 14:16:45 2348546 234
download.jpg 181Кб, 2048x833
2048x833
>>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 2348582 235
>>2348546
Как создать компил-тайм тетрис?
Аноним 02/05/22 Пнд 15:16:50 2348585 236
Аноним 02/05/22 Пнд 15:21:07 2348588 237
>>2348582
Нам препод рассказывал, что в 23 стандарте случайно подвезут новый язык во время компиляции, при этом невозможно понять остановится ли выполнение программы или нет. И компиляторы тупо костылят, что если глубина рекурсии выше 100, то компиляция прекращается
Аноним 02/05/22 Пнд 15:22:08 2348591 238
>>2348588
Прикольно, дожить бы.
Аноним 02/05/22 Пнд 15:23:25 2348592 239
Аноним 02/05/22 Пнд 15:42:39 2348609 240
>>2348585
PricewaterhouseCoopers, но имелось в виду pure Virtual call.
Аноним 02/05/22 Пнд 15:56:24 2348621 241
Почему создание pure virtual такое костыльное? Почему нельзя было сделать нормально - ввести ключевое слово pure и писать pure virtual?
Аноним 02/05/22 Пнд 15:58:52 2348626 242
>>2348621
>Почему создание pure virtual такое костыльное?
Секрет.
Аноним 02/05/22 Пнд 16:02:59 2348632 243
>>2348621
> ввести ключевое слово
Поэтому. Комитет боится вводить новые ключевые слова и придумывает синтаксические изъёбства. Туда же auto для вывода типов.
Аноним 02/05/22 Пнд 17:33:51 2348723 244
>>2348621
Еще бы ключевое cлово interface как в шарпах
Аноним 02/05/22 Пнд 17:38:35 2348731 245
Аноним 02/05/22 Пнд 18:38:32 2348757 246
Аноним 02/05/22 Пнд 21:30:22 2348867 247
>>2348381
1. Значит ты читаешь хуевые учебники
2. Доебаться. На практике не видел, чтобы использовалось. Но иногда это может тебе встретиться (например при наследовании от чего-то std'шного), поэтому будет лучше - если ты знаешь.
3. Доебаться. И вопрос про понимание. На собесе можно дать понять, что ты выкупаешь и послать нахуй
4. А причем тут мув конструктор? Давай возьмем вектор. Давай возьмем указатель на его первый элемент. А потом дохуя раз вызовем push_back. Произойдет реаллокация и указатель уже не будет валидным. На уровне языка это довольно сложно поправить. И даже если это поправить - будет оверхед, который пользователь(тупой программист) будет не ожидать. Поэтому за скорость платит как программист, зная вот здесь может ебануть
Аноним 02/05/22 Пнд 21:43:50 2348869 248
Сап. Изучаю ООП, классы
Для изучения языка я пользуюсь Ютубом, purecode, cppstudio — но везде только элементарные задачки и их решения. Из-за этого я не могу сделать что-то даже незначительно сложнее них

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

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


Код здесь:
https://pastebin.com/EgUBqeNC
Аноним 03/05/22 Втр 10:13:14 2349067 267
Аноним 03/05/22 Втр 10:24:33 2349071 268
>>2349067
Разобрался. Спасибо.
Аноним 03/05/22 Втр 10:25:53 2349074 269
0.png 6Кб, 234x142
234x142
1.png 28Кб, 672x648
672x648
2.png 45Кб, 761x708
761x708
>>2349050
Попробовал и получит результат. Только не знаю что происходит. Слышал только про mov. Это вроде запись значения.
Аноним 03/05/22 Втр 12:12:59 2349191 270
>>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 2349206 271
>>2349191
>Только из значимых — уже 12 штук.
3 вижу, а где еще 9?
>А сколько их для всякого эмбедед говна...
Гсс собранный для разных архитектур?
Аноним 03/05/22 Втр 12:48:18 2349209 272
>>2349206
> 3 вижу, а где еще 9?
Это троллинг?
Аноним 03/05/22 Втр 12:48:39 2349210 273
>>2349206
>3 вижу, а где еще 9?
А ещё 9 в глаза тебя ебут наверно.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

У меня проблема в том что не знаю с чего начать
Аноним 04/05/22 Срд 15:06:27 2349997 379
>>2349996
>У меня проблема в том что не знаю с чего начать
Давай начнем с того, что узнаем, что ты умеешь.
Аноним 04/05/22 Срд 15:26:32 2350012 380
>>2349997
Если про кресты, то их на начальном уровне я знаю, посидеть погуглить как какие конструкции пишутся в инете не сложно (лямбды, шаблоны их не трогал). Вот с архитектурой сложнее, я банально не знаю с чего начать (если что-то требуется, то беру ручку и блокнот и пишу), просто сижу перед листком и ничего в голову не лезет. Надо понять как вообще процессор работает, какие у него блоки, команды (это препод не дал). Ну и вообще что такое эмулятор и с чем его едят
Аноним 04/05/22 Срд 15:30:45 2350015 381
>>2349996
Перечисли команды, или там любые на твой выбор ?
Аноним 04/05/22 Срд 15:42:22 2350025 382
>>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 2350035 383
Аноним 04/05/22 Срд 15:48:52 2350037 384
>>2349988
В том что там 3800 вариаций. Я вот сейчас тоже делаю вариации и это очень тупо. И бесполезно.
Аноним 04/05/22 Срд 15:53:27 2350043 385
>>2350012
> и ничего в голову не лезет.
Degeneratus Maximus. Пациент не может в абстракцию. Предлагаю лоботомию.
Аноним 04/05/22 Срд 15:54:08 2350044 386
Аноним 04/05/22 Срд 15:58:45 2350050 387
>>2350037
>В том что там 3800 вариаций.
Что значит 3800 вариаций?
Аноним 04/05/22 Срд 15:59:19 2350051 388
>>2349074
>>2350044
возьми из моего поста - самые простые: mov, add, push, call. Препод подумает что ты красаучег.
Аноним 04/05/22 Срд 15:59:58 2350052 389
>>2350050
Ты на первом курсе?
Аноним 04/05/22 Срд 16:00:22 2350053 390
>>2350052
Почему ты так решил?
Аноним 04/05/22 Срд 16:00:43 2350054 391
Аноним 04/05/22 Срд 16:01:05 2350055 392
>>2350053
Глупые вопросы задаешь
Аноним 04/05/22 Срд 16:05:36 2350060 393
Аноним 04/05/22 Срд 16:08:22 2350062 394
>>2350051
зачем call? проще всего тупо арифметических, а если по красоте то разве для нормального использования call не надо еще пару инструкций?
Аноним 04/05/22 Срд 16:09:20 2350063 395
Аноним 04/05/22 Срд 16:13:01 2350066 396
>>2350063
>Как раз для 8086
Зачем это уточнение?

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

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

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

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

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

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

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

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

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

Если бэк, использующий нейросети, то шаблоны/классы, библиотека std - оставшаяся часть учебника по c++. Ещё нужен параллелизм с++ - он обычно в конце книжки (описан на отъебись).
Аноним 04/05/22 Срд 21:25:01 2350260 424
image.png 13Кб, 449x354
449x354
>>2345617 (OP)
помогите пожалуйста разобраться, как этот код работает. Почему
(49 & 2) это 0
а
(51 & 2) это 2
Как это работает вообще?
Аноним 04/05/22 Срд 21:29:45 2350262 425
>>2350260
Гугли побитовые операции.
Аноним 04/05/22 Срд 21:32:25 2350265 426
>>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 2350266 427
>>2350255
>Всё и сразу?
Всё, но не сразу. Ясное дело сначала я увязну в дроче с классификацией ириса и прочей базовой фигнёй. Нахуя мне это? Надоела пустая и бесцельная жизнь фуллстакомакаки, хочу чего-нибудь нового крутого. Паралеллизм не проблема, я зря Уильямса читал что ли?
Аноним 04/05/22 Срд 21:38:53 2350267 428
>>2350266
Ну будешь драться с олимпиадниками за те 2 вакансии, которые сейчас размещены. Могу тебе сказать, что собес на такую позицию это 10-15 минут с++ и потом либо адовый параллелизм, либо матан.
Аноним 04/05/22 Срд 21:42:34 2350268 429
>>2350267
Я НЕ буду искать никаких вакансий. Я НЕ буду работать в этой сфере на бизнес/НИИХУЯ. Мне хочется занятся этим ДЛЯ СЕБЯ исключительно потому, что мне это интересно. Может быть я обосрусь и скачусь в Qt-макаку, может быть стану крутым спецом и в мидтайме "каръеры" смогу сумею замутить каких-нибудь дроидов/андроидов - сейчас я об этом особо не думаю, сейчас мне тупо интересно с этим поебаться.
Аноним 04/05/22 Срд 21:43:17 2350269 430
>>2350268
>каръеры
Да-да, олимпиадники и НИИХУЯ-шевцы победили, согласен.
Аноним 04/05/22 Срд 21:46:07 2350270 431
>>2350262
>>2350265
спасибо за подробное объяснение, так и думал, что это что-то связанное с побитовыми операциями
Аноним 04/05/22 Срд 21:58:22 2350273 432
>>2349883
>Используй объединения (union) для хранения бинарных заголовков
>(упростится работа с ними и RW)
Каким образом?
Аноним 04/05/22 Срд 22:04:37 2350279 433
>>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 2350280 434
>>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 2350283 435
>>2350268
>НЕ буду работать в этой сфере
>стану крутым спецом
Кекеке.

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

>>2352468
Давай пруфай чего он там отсекает или отсеку тебе за щеку.
Аноним 08/05/22 Вск 14:52:27 2352538 611
>>2352470
>+15 строчек в документации.
### create()
Builds class Huita.
@throws: ProizoshlaHuita
Аноним 08/05/22 Вск 15:10:26 2352564 612
Аноним 08/05/22 Вск 15:23:38 2352574 613
>>2352457
Таскать фабрику нужно будет вместе с объектом по всему коду. При этом тебе придётся закрыть часть конструкторов порезав интерфейс. Смысл есть только если Foo это ресурс, добываемый каким-то хитрым способом, о чём должна знать только фабрика. А ради исключение такой педалить точно не стоит.
Аноним 08/05/22 Вск 16:45:27 2352663 614
>>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 2352723 615
Screenshot from[...].png 146Кб, 1920x1062
1920x1062
Screenshot from[...].png 146Кб, 1920x1065
1920x1065
Screenshot from[...].png 181Кб, 1873x867
1873x867
Пишу архиватор. remove.cc отвечает за удаление файлов из архива. Насколько платформонезависимым, по вашему мнению, является такой жадный способ выгрызания кусков из середины файла?
Аноним 08/05/22 Вск 18:03:08 2352728 616
>>2352723
>char ⚹⚹argv
Да иди ты нахуй
Аноним 08/05/22 Вск 18:04:10 2352729 617
>>2352723
Вот куда ты из Си-треда сбежал.
Аноним 08/05/22 Вск 18:07:47 2352734 618
Аноним 08/05/22 Вск 18:10:16 2352735 619
>>2352728
Спокойно, я это все еще переделаю. Пока что функции addToArchive, extractFromArchive, removeFromArchive и listArchiveContents вызываются прямиком из мейна. Потом будет интерактивщина, чтоб один раз закешировав все Entry делать множество операций, и естественно я приду к другому интерфейсу. А пока я завернул это говно в Args. Правда, оно какого-то хуя не хочет работать с ranges::алгоритмами, хотя begin и end возвращает полноценные указатели. Хуй знает, чего ему в iterator_traits не хватает, заебался разбираться в логах.
Аноним 08/05/22 Вск 18:12:40 2352738 620
>>2352723
Ебать, отдельные еще и методы iterateDrisnya. Сделай кастомный итератор и пронзи своим STL небеса!
Аноним 08/05/22 Вск 18:16:46 2352742 621
Screenshot from[...].png 68Кб, 733x557
733x557
>>2352738
Уже делал подобную пиздень на работе. Тогда придется очень много говна писать и на инпут, и на аутпут. Не хочу.
Аноним 08/05/22 Вск 18:19:05 2352744 622
>>2352742
Ты специально скринами показываешь, чтобы код не скопировали?
Аноним 08/05/22 Вск 18:21:51 2352746 623
>>2352744
Я просто хуй его, как на pastebin несколько файлов залить. Ну, а это последнее почему бы и не скрином, тут же пара строчек.
Аноним 08/05/22 Вск 18:29:25 2352759 624
>>2352663
Ты тупой и не можешь прочитать, что в стандарте написано про virtual функции may have and destructor must have?
Аноним 08/05/22 Вск 18:34:46 2352769 625
>>2352663
>1. вместо 10 разных Xynta::Xynta иметь нормально проименнованные Xynta::fromSosach, Xynta::fromForchong и т.д.
Шаблоны нинужны, да. Ты наверное ещё в название меременных тип вписываешь, ка диды из Микрософта советовали.
Аноним 08/05/22 Вск 18:56:08 2352806 626
Screenshot from[...].png 64Кб, 799x675
799x675
>>2352723
ай бляяяя, перемудрил и обосрался с еофом
Аноним 08/05/22 Вск 18:58:42 2352809 627
>>2352759
>Ты тупой и не можешь прочитать
Тупые тут местные эксперды, которые как раз несут хуиту

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

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

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

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

Ты няша ^_^









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

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

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

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

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


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

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

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


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

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

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

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

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

>>2354927
Макросы для быдла и сишников.
Аноним 11/05/22 Срд 21:51:07 2354932 754
изображение.png 18Кб, 624x392
624x392
Ну конечно, ссылки константные. теперь все работает.
Аноним 11/05/22 Срд 21:51:12 2354933 755
Аноним 11/05/22 Срд 22:37:48 2354944 756
>>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 2354945 757
Дайте советов как изначально писать высокопроизводительный код. Ну конечно же кроме "делать всё конст" да "ссылки принимать".
Аноним 11/05/22 Срд 22:51:47 2354948 758
>>2354945
Избегать лишних выделений памяти, копирования (юзать move, передавать по ссылке), меньше индирекции (доступ нанапрямую, а не через цепь указателей), нормальное выравнивание (? вроде же можно делать упакованные структуры, с битами итп, хз в спп или ток си, это сто проц медленней обычн представления), максимально переносить вычисления на компайл тайм (вместо рантаймы, т.е. constexpr например), комптайм полиморфизм > рантаймового, оптимизировать на локальность доступов к памяти (например юзать массив (последовательный кусок памяти) вместо связных списков), ! использовать алгоритмы и структуры данных под задачи, включать оптимизации, fast-math, избегать простоя (типо ожидание ввода, решение - корутины), распараллеливать прогу, юзать статическую линковку вместо динамической, gpgpu, понимать оптимизации компилятора и как не мешать ему...
Аноним 12/05/22 Чтв 00:31:18 2354992 759
>>2354848
Я немного в ахуе
Ты же сам долбоеб скинул ссылку на move-assing (https://en.cppreference.com/w/cpp/language/move_assignment)
Давай, даун, возьмем код оттуда. Уберем (как у тебя) конструкторы. И оставим только operator=.
И смотри
https://godbolt.org/z/683sqxcqb
Магия. Магия!!!!
Бездарный долбоеб
Ты даже не можешь глянуть что находится в ссылке, которую ты, хуесос, сам и постишь
Аноним 12/05/22 Чтв 02:55:16 2355008 760
>>2354547
ну типа такого

struct ResourceDataRef
{
ResourceData* ptr;
};

struct ResourceMgr
{
ResourceDataRef Add();

std::list<ResourceData> data;
};
Аноним 12/05/22 Чтв 03:22:45 2355010 761
image.png 140Кб, 1781x879
1781x879
>>2354501
Да

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



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

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

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

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

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

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

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

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

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

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

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

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

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

Писать на си вместо плюсов бред. Для низкоуровневых штук 0 разницы. Зато синтаксис приятнее во многом. На си обычно пишут там, где компилятор нормальный плюсовой не завезли
Аноним 16/05/22 Пнд 20:14:05 2357526 931
>>2357436
Понял тебя. Чувствую, ты человек шарящий. Недавно тут сказали, что красивый код в проектах OpenCL и BOOST. А есть маленькие проекты на гитхабе, по котором можно поучиться писать красивый и эффективный код?
Аноним 16/05/22 Пнд 20:22:25 2357529 932
изображение.png 3Кб, 432x37
432x37
Что это?
Аноним 16/05/22 Пнд 22:25:36 2357595 933
>>2357529
Когда подключен дебаггером, то при вызове этой функции тебя в него выкинет на этой строчке. У каждого компилятора свой механизм этого, у тебя на пике чисто MSVC-шная реализация.
Аноним 17/05/22 Втр 00:24:54 2357649 934
image.png 38Кб, 462x974
462x974
Сап, крестовый. ВУЗик ебёт прогой на самом лучшем ЯП конечно же я о С++. Надо отсортировать массив работников по фамилии. Ну а по правилам если первая буква одинаковая то сравнивать надо вторую. Но у меня почему-то код не хочет двигать элементы массива структур хоть убей.
Код: 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 2357652 935
>>2357649
> с ебейшим числом пропусков, в чём и проблема, но я так и не понял, какого хуя
Отбой с этим замечанием, в этот раз, почему-то, пропусков сколько и должно быть. До этого же оно мне по 30 раз выводил Skipping. Т.е., сейчас вроде всё верно, но толку всё равно нету, должно быть Алах -> Аллах -> Алллах.
Аноним 17/05/22 Втр 00:48:11 2357660 936
>>2357649
Памятка нюфагу:
- Лабы идут на хуй
Аноним 17/05/22 Втр 12:17:17 2357868 937
>>2357595
Класс. А почему бы не кинуть исключение?
Аноним 17/05/22 Втр 16:54:12 2358090 938
Ответьте на вопрос пожалуйста. Через месяц надо идти на практику, после буду устраиваться на стажировку/работу. На выбор есть завод, там микроконтроллеры, ПО на c++/c. Так же есть офис, там c#.

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

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

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

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

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

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

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

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



Аноним 19/05/22 Чтв 22:22:47 2359486 1011
155863427913869[...].gif 5330Кб, 200x249
200x249
>>2359478
Собственно, вопрос: как пофиксить?
на данный момент я использую Visual Studio, но мне в целом не принципиально до тех пор, пока мне не нужно слезать с винды.

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

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

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

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

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

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

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


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

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

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

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

Точку стабилизации уже прошли. Идёт откат к старым значениям с одновременным укреплением рубаса. Ну и как следствие участились попытки прописать зарплату в далларах (хотят ка раньше свои нищенские 3к платить).
Аноним 22/05/22 Вск 15:55:28 2361183 1074
>>2361163
Жабу лучше изучай. Она ближе к делам экономистов. Или Один Эсс.
Аноним 22/05/22 Вск 16:07:05 2361184 1075
Аноним 22/05/22 Вск 16:11:57 2361186 1076
изображение.png 21Кб, 336x357
336x357
Аноним 22/05/22 Вск 16:13:14 2361190 1077
>>2361186
>Не работает
Баг компилятора, попробуй другим собрать.
Аноним 22/05/22 Вск 16:14:05 2361191 1078
Аноним 22/05/22 Вск 16:24:14 2361196 1079
>>2361186
Нет. Лямбда должна принимать указатель на твой класс в качестве аргумента, если собирается его использовать.
Аноним 22/05/22 Вск 16:25:26 2361199 1080
>>2361196
Так а как, если класс еще не сконструирован?
Аноним 22/05/22 Вск 16:35:20 2361205 1081
>>2361199
Ладно, видимо подход хуевый. Надо иначе делать. Если интересно, то мне показалось хорошей идеей сделать максимально общий класс сервера, который будет новые соединения в переданную лямбду передавать, а она внутри себя их уже обрабатывать. Но затем мне понадобилось в лямбде использовать метод сервера и всё. Сделаю значит просто наследника от своего максимально общего класса.
Аноним 22/05/22 Вск 16:44:23 2361215 1082
>>2361205
>показалось хорошей идеей сделать максимально общий класс сервера
Зачем?
Аноним 22/05/22 Вск 16:57:38 2361226 1083
>>2361215
Он должен был взаимодействовать с кучей других объектов и мне показалось хорошей идеей передвать в сервер лямбду, которая захватит эти объекты. Видимо придется преисполниться шаблонами и писать сервер, который примет ссылки на все те объекты и будет внутри себя их дергать.
Аноним 22/05/22 Вск 17:03:27 2361229 1084
Аноним 22/05/22 Вск 17:04:53 2361231 1085
>>2361229
Чтобы при каждом чихе не лезть в код сервера и не менять его, если вдруг ему понадобится еще один объект для взаимодействия.
Аноним 22/05/22 Вск 17:16:03 2361243 1086
Аноним 22/05/22 Вск 17:16:39 2361244 1087
>>2361229
Ну а вообще я хуй знает. Я в первый раз пишу прогу в которой несколько сущностей разных и они должны как то с собой взаимодействовать. + хочу писать максимально модульный код, поэтому qt с его слотами/сигналами не юзаю, а пытаюсь как то из сервера вызывать нужные функции. Хотя может этт и странно и лучше взять qt с его системой сигналов и слотов.
Аноним 22/05/22 Вск 17:18:57 2361247 1088
>>2361243
У меня то же самое по сути. Но мне в хэндлере надо другие объекты юзать. Вот их законнектить было проблематично. Сначала решил лямбду с нужными объектами передавать, но оказалось хуйня
Аноним 22/05/22 Вск 17:21:31 2361251 1089
>>2361247
>Но мне в хэндлере надо другие объекты юзать.
>extra
Указатель на какой-то объект.
Аноним 22/05/22 Вск 18:48:22 2361299 1090
>>2361251
Значит будет у меня специализация под конкретные объекты, а не общий обработчик. Ну ладно. Мне уже не важно. Главное чтобы работало
Аноним 22/05/22 Вск 19:28:51 2361332 1091
>>2361299
Это вообще хуево или нет? Принято ли в проектах писать структуры заточенный под связь с другими или все стараются максимально модульным сделать?
Аноним 22/05/22 Вск 20:22:15 2361344 1092
Есть тип 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 2361356 1093
Аноним 22/05/22 Вск 22:04:17 2361386 1094
>>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 2361405 1095
4 дня сидел без интернета, благо был референс скачанный на харде. Прочитал почти весь тупо как как книгу. Я уже стал сеньором-джедаем или да?
Аноним 22/05/22 Вск 23:01:29 2361422 1096
Аноним 22/05/22 Вск 23:17:54 2361429 1097
>>2361422
Заебись. Дайте инвайт на собес.
Аноним 23/05/22 Пнд 01:15:05 2361484 1098
>>2361429
Устроим собес прямо здесь. Могу взять тебя программистом если умеешь что-нибудь. Что ты умеешь?
Аноним 23/05/22 Пнд 02:08:34 2361520 1099
>>2361484
Вышивать могу, и на машинке шить.
Аноним 23/05/22 Пнд 02:20:41 2361524 1100
Аноним 23/05/22 Пнд 02:21:41 2361525 1101
Аноним 23/05/22 Пнд 02:22:54 2361526 1102
>>2361525
за траллинг тупостью
Аноним 23/05/22 Пнд 02:26:14 2361528 1103
Аноним 23/05/22 Пнд 02:42:50 2361533 1104
>>2361528
Админ бань его. Заранее спасибо.
Аноним 23/05/22 Пнд 07:21:30 2361554 1105
Аноним 23/05/22 Пнд 11:43:16 2361634 1106
>>2350989
это крестовый, а не переможный тред, мыкола.
Минус три мивины.
Аноним 23/05/22 Пнд 15:34:59 2361761 1107
изображение.png 15Кб, 873x183
873x183
Как в QT задать время ожидания ответа на http запрос? Пока что написал пик, в целом работает, но как-то всрато. Пришлось родить целых две новых сущности (QTimer и QEventLoop)
Аноним 23/05/22 Пнд 15:41:56 2361771 1108
>>2361634
Сильно же тебя это задело
Аноним 23/05/22 Пнд 16:26:21 2361813 1109
image.png 39Кб, 1101x396
1101x396
>>2361761
Во-первых пикрел,

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

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

/// ........
});
Аноним 23/05/22 Пнд 17:40:21 2361909 1112
>>2361853
Пока этот сигнал сработает, функция уже выполнится. Ну или я не понял, куда ты предлагаешь его вставить.
Аноним 23/05/22 Пнд 17:52:38 2361933 1113
>>2361909
>Пока этот сигнал сработает, функция уже выполнится.
Ну да. Т.е. программа может заниматься другими полезными вещами
Аноним 23/05/22 Пнд 21:25:35 2362074 1114
Как же хочется вкатиться...
Аноним 23/05/22 Пнд 23:08:19 2362129 1115
Почему размер void⚹ = 8 байт?
Аноним 23/05/22 Пнд 23:29:34 2362131 1116
>>2362129
void⚹ это указатель. А указатель это адрес в памяти. А адрес в памяти это целое беззнаковое число от 0 до 2 ^ (разрядность системы) - 1. 8 байт = 64 бита и как раз позволяет закодировать весь диапазон адресов. В 32 разрядной системе void⚹ будет 4 байта.
Аноним 24/05/22 Втр 13:21:11 2362297 1117
rage-canadian-l.png 183Кб, 1041x1200
1041x1200
hqdefault.jpg 8Кб, 480x360
480x360
Здорова педики, вопрос к шарящим.
Как правильно организовать ебучий cmakelists? Вот есть проект, он хочет залинковаться на либу, лежащую на том же уровне что и он. Как это по-человечески сделать?
Аноним 24/05/22 Втр 15:23:13 2362352 1118
Я правильно понимаю, что для создания красивого модного интерфейса в qt мне придётся использовать qt quick?
Аноним 24/05/22 Втр 15:29:01 2362357 1119
Можно ли сделать шаблонную функцию вида?
template<typename T>
T test(int n)
{
return 42;
}
test(55);
Если в параметрах указать T то всё компилируется, а реально ли сделать без неё, как в примере?
Аноним 24/05/22 Втр 15:54:16 2362371 1120
>>2345617 (OP)
Тут есть программисты микроконтроллеров? Хочу уйти из АСУТП к вам. На каком уровне крестов можно начинать открывать headhunter? На младшие позиции, естественно.
Аноним 24/05/22 Втр 16:26:13 2362397 1121
>>2362352
Можно и на виджетах, но жопоболи будет на порядок больше.
Аноним 24/05/22 Втр 16:29:04 2362398 1122
>>2362357
В таком виде он не может вывести тип. Вот test(T n) должно прокатить.
Аноним 24/05/22 Втр 16:59:51 2362434 1123
>>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 2362438 1124
Аноним 24/05/22 Втр 17:41:45 2362450 1125
>>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 2362468 1126
>>2362450
Все эти variant где+то кроме говнокода применяются?
Аноним 24/05/22 Втр 18:36:47 2362489 1127
>>2362468
Наговнокодил тебе в штаньі
Аноним 24/05/22 Втр 18:39:22 2362491 1128
Аноним 24/05/22 Втр 18:44:18 2362494 1129
Обновил qt, с удивлением узнал, что некоторые используемые функции были выпилены. Зачем так делать? Чем они мешали? Почему я должен перелопачивать код после перехода на новую версию?
Аноним 24/05/22 Втр 18:54:54 2362504 1130
>>2362494
>Обновил qt, с удивлением узнал, что некоторые используемые функции были выпилены.
>Что такое мажорная версия?

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

В общем странная фигня, если перед wcout вывести обычный текст, то текст выведется транслитом (на сайте вместо транслита знаки вопроса):
cpp.sh/3psus
cpp.sh/35bkx
Аноним 24/05/22 Втр 21:08:44 2362610 1145
>>2362450
>Можно из с++ жопаскрипт сделать, но зачем?
Есть библиотека при получении значения она выдает результат и можно запросить его тип (число, строка) моя задача написать функцию универсальную для запроса числа и строки. Реализация за исключением нескольких строк одинаковая. Писать две разные функции которые содержат почти одинаковый код не хорошая идея.
Аноним 24/05/22 Втр 21:20:35 2362622 1146
>>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 2362627 1147
>>2362601
>У меня не винда,
Линух? Попробуй обычный string и cout.
Аноним 24/05/22 Втр 22:43:24 2362673 1148
>>2362622
в крестах для union все же осталось одно применение, а именно когда нужно заглянуть внутрь примитивных типов
Аноним 24/05/22 Втр 22:50:13 2362677 1149
>>2362673
> в крестах для union все же осталось одно применение, а именно когда нужно получить UB
Пофиксил.
Аноним 24/05/22 Втр 23:00:14 2362680 1150
>>2362677
Волков боятся - в лес не ходить.
Аноним 24/05/22 Втр 23:20:42 2362694 1151
Аноним 24/05/22 Втр 23:29:54 2362701 1152
перекатите немедленно
Аноним 24/05/22 Втр 23:37:42 2362710 1153
Аноним 24/05/22 Втр 23:39:39 2362713 1154
Проконсультируйте или как загуглить про такой механизм:
Приложение работает следующим образом: есть сервер который отправляет какие то данные, которые нужно обработать, делает он это не часто, но обработка занимает много процессорного времени, а само приложение должно работать параллельно с этим обработчиком. Создавать тред в классе с бесконечным циклом в ожидании данных плохая же идея? Это вообще можно при помощи стандартной либы как то сделать?
Аноним 25/05/22 Срд 00:00:35 2362728 1155
Аноним 25/05/22 Срд 00:14:27 2362734 1156
>>2362713
Для асинхронного выполнения тебе нужен std::future в качестве результата и нечто, что будет работать асинхронно - std::async или std::thread t(callable, args).detach() в паре с packaged_task или promise.
Аноним 25/05/22 Срд 11:18:44 2362912 1157
15640323477300.jpg 17Кб, 600x600
600x600
Аноним 25/05/22 Срд 11:42:42 2362921 1158
1653468158676.jpg 302Кб, 1440x1692
1440x1692
1653468158699.jpg 427Кб, 1440x2252
1440x2252
1653468158713.jpg 499Кб, 1440x2231
1440x2231
1653468158726.jpg 388Кб, 1332x1762
1332x1762
Аноним 25/05/22 Срд 11:57:01 2362924 1159
>>2362921
Зарепортил за саморекламу
Аноним 25/05/22 Срд 15:55:14 2363078 1160
>>2362713
>Создавать тред в классе
Аноним 25/05/22 Срд 16:21:38 2363097 1161
>>2362713
если отвечать формально на вопрос, то возможно тебе придется задействовать асинхронный ввод вывод, поэтому только при помощи стандартной библиотеки это сделать не получиться, придется использовать либо средства предлагаемые операционной системой, либо кроссплатформеные библиотеки
Аноним 25/05/22 Срд 16:37:17 2363109 1162
>>2363078
А чё такого если инстанс глобального времени жизни?
Аноним 25/05/22 Срд 21:50:19 2363407 1163
>>2362517
>s/auto_ptr/unique_ptr/g
>добавляешь std::move, где компилятор ругается
И никаких проблем. А у тебя что приключилось? inb4 старая либа без исходинков возвращала их в апишке
Аноним 25/05/22 Срд 21:51:56 2363408 1164
>>2362673
Наконец-то завезли православный bit_cast для такого
Аноним 25/05/22 Срд 23:20:34 2363468 1165
Как вкотиться в маш. зрение?
Аноним 25/05/22 Срд 23:53:34 2363484 1166
Классы A и B таковы, что B при конструировании просит ссылку на экземпляр A. Хочу создать пару A, B, но не могу. Есть решения? Я думал, думал, но не придумал
Аноним 26/05/22 Чтв 00:00:04 2363486 1167
>>2363468
Читать книжки, учить математику в вузике. Освоить Python.
Аноним 26/05/22 Чтв 00:02:00 2363489 1168
>>2363486
Питон я знаю, для чего-нибудь серьёзного он в любом случае не катит.
Аноним 26/05/22 Чтв 00:08:27 2363493 1169
>>2363489
Довольно много ML/CV кода написано на Python. И считай он нужен банально для чтения и изучения примеров (как английский для чтения документации).
Аноним 26/05/22 Чтв 00:10:34 2363494 1170
>>2363493
Да я не спорю, что на нём дохера всего написано. Суть в том, что в риалтайме такое всё равно не поюзаешь.
Аноним 26/05/22 Чтв 00:21:22 2363501 1171
>>2363494
Ну ты не с того конца заходишь. Язык это только инструмент и не более.
Сначала глянь насколько хорошо пойдёт сама тематика. Есть книжка от Szeliski (быстро гуглится). Она довольно много аспектов CV затрагивает (и про особенности нашего зрения и про цифровые камеры и про алгоритмы - сегментация/классификация/выделение особенностей/трекинг и ещё докучи). Полистай по диагонали и посмотри как оно вообще. Матана там ояебу конечно, но куда ж без него.
Аноним 26/05/22 Чтв 00:21:40 2363502 1172
Аноним 26/05/22 Чтв 00:34:27 2363511 1173
>>2363501
>Szeliski
Вот это годный контент, спасибо. Ушёл курить. Превозмогать придётся, робототехника сама себя не освоит.
Аноним 26/05/22 Чтв 00:36:03 2363513 1174
>>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 2363532 1175
>>2363513
Вот только у тебя b из пары ссылается на а вне пары. А вопрос наверно был как создать пару аb, где у .second ccылка на .first
Аноним 26/05/22 Чтв 01:02:52 2363533 1176
>>2363532
Да, вопрос ровно такой
Аноним 26/05/22 Чтв 01:05:33 2363535 1177
Аноним 26/05/22 Чтв 01:07:52 2363537 1178
Как понять почему cin падает? У меня прога юзает асинхронные операции с бустом и почему то после их использования cin падает при попытке чтения.
Аноним 26/05/22 Чтв 01:08:18 2363539 1179
>>2363535
>РЕШЕНИЕ ЕСТЬ ВСЕГДА
В чём смысл жизни?
Аноним 26/05/22 Чтв 01:09:41 2363540 1180
>>2363539
Зависит от имплементации. В гцц просто вызови __builtin_life_meaning() и узнаешь.
Аноним 26/05/22 Чтв 01:09:45 2363541 1181
Аноним 26/05/22 Чтв 01:29:35 2363547 1182
Сука, я рот его топал. Буст просто не кидает исключение если порт занят, хотя раньше кидал. Что изменилось? Я и 443 порт писал, и 1, и 10. Просто ничего не происходит
Аноним 26/05/22 Чтв 01:36:22 2363549 1183
>>2363547
Я писал и acceptor_(io_context, tcp::endpoint(tcp::v4(), port), false) и true, нет разницы
Аноним 26/05/22 Чтв 01:40:36 2363550 1184
>>2363535
В голос с этой хуйни
Аноним 26/05/22 Чтв 01:44:03 2363551 1185
>>2363549
А, соре. Я дурак. Мне просто очень везло на свободные порты. И я думал, что маленькие нельзя выбирать, а оказалось можно
Аноним 26/05/22 Чтв 01:54:42 2363553 1186
>>2363537
Причем если соединение не удалось, тогда cin падает. Как это дебажить?
Аноним 26/05/22 Чтв 01:55:40 2363554 1187
>>2363553
А, лол. Это не cin падает. Странно. Забавно получалось, но ошибка выскакивала именно там.
Аноним 26/05/22 Чтв 16:53:29 2364047 1188
Стек или очередь?
Аноним 26/05/22 Чтв 16:57:45 2364049 1189
В чём подводные использования/написания своих header-only либ?
Аноним 26/05/22 Чтв 16:59:10 2364051 1190
Аноним 26/05/22 Чтв 16:59:18 2364052 1191
>>2364047
Дерево отрезков или система непересекающихся множеств?
Аноним 26/05/22 Чтв 17:09:26 2364062 1192
>>2364051
Пизда
>>2364052
Множество элементов с которого на каждой итерации нужно снимать исключительно пенку
Аноним 26/05/22 Чтв 17:27:44 2364073 1193
Как создать инструкцию с внутренней логикой и оборачивающую код? Т.е. что-то вроде for, while, try-catch.
Аноним 26/05/22 Чтв 17:52:35 2364089 1194
Аноним 26/05/22 Чтв 18:18:10 2364103 1195
>>2364089
Нет, мне нужна собственная конструкция вида
do {
...
} then {
...
}
Аноним 26/05/22 Чтв 19:38:40 2364167 1196
>>2364073
Написать свой язык. Ну или макросы. Ключевые слова на то и ключевые что являются частью языка.
Аноним 26/05/22 Чтв 19:41:20 2364173 1197
>>2364167
Так плюсы же умеют всё. Вот и скажите мне как это сделать.
Аноним 26/05/22 Чтв 19:55:52 2364187 1198
>>2364173
Плюсы не умеют всё, тебе соврали.
Аноним 26/05/22 Чтв 19:57:42 2364188 1199
>>2364187
А чего плюсы не умеют?
Аноним 26/05/22 Чтв 20:02:22 2364191 1200
>>2364188
Создавать ключевые слова.
Аноним 26/05/22 Чтв 20:04:33 2364192 1201
>>2364191
А тяночку могут помочь найти?
Аноним 26/05/22 Чтв 20:06:16 2364194 1202
Аноним 26/05/22 Чтв 20:07:07 2364195 1203
Аноним 26/05/22 Чтв 20:24:03 2364201 1204
Аноним 26/05/22 Чтв 20:26:18 2364203 1205
image.png 36Кб, 760x299
760x299
Аноним 26/05/22 Чтв 20:29:26 2364206 1206
>>2364203
Чё за Tyan нахуй? Chan блять.
Аноним 26/05/22 Чтв 20:40:13 2364216 1207
Аноним 26/05/22 Чтв 21:11:12 2364227 1208
Аноним 26/05/22 Чтв 21:12:35 2364228 1209
Аноним 26/05/22 Чтв 21:26:42 2364234 1210
Аноним 26/05/22 Чтв 21:30:18 2364235 1211
image.png 2808Кб, 1920x1080
1920x1080
Аноним 26/05/22 Чтв 21:30:35 2364236 1212
Тут уже спрашивали что то подобное, но там речь шла про наследников и variant, а у меня не наследники, а variant выглядит избыточным. Суть следующая: нужен десереализатор который получит на вход указатель на данные, а вернет объект. Но вот незадача: объекты разных типо и между собой не связаны. Вариант возвращать void указатель на объект и пометочку о типе, а потом кастовать выглядит гиперопасным.
Аноним 26/05/22 Чтв 21:37:48 2364239 1213
>>2364227
>c++ 20, не кал, слышите.
Чел, я педалю cv под эмбед и нам это ещё не скоро завезут в нормальном, рабочем состоянии. Для корутин есть пихонг.
Аноним 26/05/22 Чтв 21:42:51 2364242 1214
Аноним 26/05/22 Чтв 21:46:09 2364244 1215
>>2364236
а чего variant избыточен? он как раз для таких целей
Аноним 26/05/22 Чтв 21:49:24 2364246 1216
Аноним 26/05/22 Чтв 23:37:49 2364302 1217
Посоветуйте, пожалуйста комплятор на с\с++ под винду только чтобы он лёгкий был, быстрая установка быстрый запуск типа как текстовый редактор. А то я не хочу визуалку ставить она тяжёлая, много лишнего и т.д.
Аноним 27/05/22 Птн 00:07:00 2364315 1218
>>2364302
Раз твой вопрос пробил дно, сразу посоветую Dev C++
Аноним 27/05/22 Птн 00:12:42 2364318 1219
Аноним 27/05/22 Птн 00:51:56 2364341 1220
>>2364315
годно, а то мой ноутбучок надрывался прямо под визуалкой. а тут можно спокойно и на двощах параллеьно сидеть.
Аноним 27/05/22 Птн 00:53:30 2364344 1221
>>2364341
Желаю тебе однажды открыть для себя генту с вимом.
Аноним 27/05/22 Птн 00:56:17 2364346 1222
>>2364344
Мерси, ещё раз. Но мне даже арч с трудом собрать по гайду какой там генту
Аноним 27/05/22 Птн 00:57:23 2364347 1223
>>2364346
./arch-install.py -> Enter -> Enter -> Enter
Тяжелоооо...
Аноним 27/05/22 Птн 10:33:51 2364466 1224
Аноним 27/05/22 Птн 12:56:50 2364589 1225
>>2363407
>s/auto_ptr/unique_ptr/g
Авотнихуя

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

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

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

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

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

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

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

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

>>2365416
лел, не один я такой ньюфаня
Аноним 28/05/22 Суб 14:01:29 2365434 1250
>>2365416
Тебе нужен полноценный storage layer, думать об этом надо уже сейчас, когда вытаскивать данные с диска и когда сбрасывать их обратно
Аноним 28/05/22 Суб 14:22:16 2365462 1251
>>2365416
Тебе нужен кеширующий провайдер данных. Пока можешь накатать его интерфейс, а в имплементации использовать вектор, ну а потом сделать как надо будет.
Аноним 28/05/22 Суб 16:04:36 2365529 1252
>>2365416
>хранит указатели на объекты
>сохраняться между запусками
>может разростись
>хранить его полностью в оперативке нельзя
>указатели на огромные объекты
>Можно ли как то кусок вектора на диск записать, а когда надо доставать обратно?
Маппинг+обертка кучей вокруг куска памяти.
Аноним 28/05/22 Суб 16:12:04 2365531 1253
Кто в изображениях разбирается, в кутах есть такая функция QPixmap::loadFromData, где она берет массив чаров. Так что
это за массив? Это просто буфер где хранятся цвета каждого пикселя? Или этот буфер хранит еще всякую инфу типа размера изображения, метадаты?
Аноним 28/05/22 Суб 16:16:42 2365532 1254
>>2365531
Так может ты глянешь документацию? У Qt она очень хорошая.
Аноним 28/05/22 Суб 16:19:15 2365535 1255
Аноним 28/05/22 Суб 16:28:31 2365545 1256
>>2365532
А ты думаешь откуда я это взял и уточняющие вопросы написал? Я прочитал, но не понял
Аноним 28/05/22 Суб 16:36:44 2365561 1257
>>2365531
Это просто файл загруженный в память.
Аноним 28/05/22 Суб 16:39:30 2365564 1258
Там же специально про формат написано, чего ты взял что это просто буфер с пикселями?
Аноним 28/05/22 Суб 17:44:06 2365626 1259
>>2365531
>the loader probes the file for a header to guess the file format
Это файл (jpg, png, ...), загруженный в оперативку в виде массива data.
Аноним 28/05/22 Суб 23:03:10 2365908 1260
Сап плюсач появилось два вопроса касательно использования 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 2366145 1261
>>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 2366152 1262
Почему нельзя скопировать вектор интов в вектор лонгов?
Аноним 29/05/22 Вск 11:25:18 2366165 1263
>>2366152
Потому что это разные типы данных?
Аноним 29/05/22 Вск 11:28:26 2366167 1264
>>2366152
Потому что ты под линуксом.
Аноним 29/05/22 Вск 11:40:21 2366173 1265
Вернее под линуксом на х86-64
Аноним 29/05/22 Вск 17:06:21 2366470 1266
Посоветуйте гайдов по gdb
Аноним 29/05/22 Вск 22:53:19 2366725 1267
image.png 110Кб, 1301x919
1301x919
>>2345617 (OP)
аноны, как на с++ подключать инклюды ? или почему у меня эти ошибки, за плюсы вообще не шарю
Аноним 29/05/22 Вск 23:44:28 2366749 1268
>>2366725
в другом разделе сказали мфс пакеты скачать
Аноним 30/05/22 Пнд 01:45:57 2366794 1269
С чего начать свой путь в коммерции? Ясное дело, многого не знаю, но уже чувствую что петами сыт не будешь. В целом и шаблоны пишу, и с абстрактными классами наебался, поинтеры-аллокаторы, мультипоток копал, с бустом игрался. Qt не зашёл. Можно куда-нибудь с нынешним стеком податься чтобы уже боевой опыт зарабатывать? Язык пиздатый, а чего хочу от него - пока только в собственных проектах и отображается. Я бы вкатился наверное в нейронки/зрение, да это опять минимум несколько месяцев учёбы, дрочения примеров.
Аноним 30/05/22 Пнд 11:13:47 2366928 1270
>>2366794
>В целом и шаблоны пишу, и с абстрактными классами наебался, поинтеры-аллокаторы, мультипоток копал, с бустом игрался. Qt не зашёл.
>С чего начать свой путь в коммерции?
С приношения денег кабанчикам, каким образом твои навыки могут принести ему денег?
Аноним 30/05/22 Пнд 11:22:57 2366955 1271
>>2366928
> каким образом твои навыки могут принести ему денег?
Ну я могу отсосать ему. Тоже не то?
Аноним 30/05/22 Пнд 12:35:25 2367009 1272
>>2366794
Всем нужен опыт и конкретные навыки, те не с бустом поигрался, а я могу сделать то то и то то.
Ну и да, никому ты не нужен, мужик. Вкатусю на плюсах видеть никто не хочет, это слишком кринж, тем более в этой стране
Аноним 30/05/22 Пнд 17:08:36 2367223 1273
>>2366794
>вкатился наверное в нейронки/зрение
Открываешь хехе.ру, вводишь там c++, потом вводишь c++ && machine learning. Получаешь <5% от общего числа вакансий. Затем убираешь оттуда senior, lead, knowledge of c++ is a plus, huawei/samsung/etc и в итоге идёшь в НИИ клепать аналоговнеты под линукс для stm32.
Аноним 30/05/22 Пнд 19:36:56 2367377 1274
>>2367223
в нии норм работать, если есть хата от бабки доставшаяся, и не планируешь заводить семью (остаться девственником), на покушать будет хватать денежек
Аноним 30/05/22 Пнд 20:09:27 2367399 1275
Так, я чет не понял. Такая операция:
std::vector a = b;
bool copied = true;
Может выполниться не последовательно?
Аноним 30/05/22 Пнд 20:14:04 2367404 1276
Аноним 30/05/22 Пнд 20:54:08 2367454 1277
>>2367399
Конечно. На современных ЦП инструкции обращения к памяти могут начать выполняться одновременно, но вторая может выполниться раньше первой, если кэш-мисс или просто долгая инструкция. Естественно ты в одном потоке не сможешь увидеть эффект от такого, ЦП не станет выполнять одновременно инструкции, если есть рядом зависимая инструкция от того участка памяти. Но вот из другого потока реально запалить это. Гугли про memory order, чтоб понимать что за relaxed-память и чем отличается поведение strongly-ordered от weak-ordered архитектур.
Но в твоём случае если чекнешь copied==true в другом потоке, то уже скорее всего не успеешь поймать такое. В стандартной библиотеке, кстати, разрешены такие проёбы в порядке выполнения и это даже не UB, потому что надо std::atomic юзать вместо простого обращения к памяти. Например std::latch умеет в такие фокусы, но шансы поймать это очень низкие, хоть и не нулевые.
Аноним 30/05/22 Пнд 21:11:56 2367477 1278
Qt creator крашнулся. Сука.
Аноним 30/05/22 Пнд 22:09:09 2367530 1279
>>2367377
Имея хату от бабки сложно остаться девственником.
Аноним 30/05/22 Пнд 22:14:21 2367538 1280
>>2367399
Конпелятор может переставить во время оптимизации или вообще убрать то, что посчитает не нужным.
Аноним 30/05/22 Пнд 23:50:53 2367603 1281
>>2367597
А если я из Донецка? Я норм, отвечаю.
Аноним 31/05/22 Втр 00:14:46 2367609 1282
А как скомпилировать 2 .cpp файла в одну файла не объявляя один из них .h заголовочным? Я в одном объявил класс и его функции и переменные. а в другой main пользуюсь. И при стандартноо компляции выдаёт что этот класс не объявлен. Если файл с классом сделать .h и через обычный инклуд включить от всё заебубма станвоится.

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

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

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

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

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

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

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

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

Салтовка-кум
Аноним 01/06/22 Срд 13:02:36 2368666 1329
>>2368659
> Она опенсорсная и бесплатная.
> бесплатная
Чел...
Вот у майков дотнет действительно опенсорсный и бесплатный, под MIT-лицензией. А у qt мало того что GPL, так ещё и есть чисто проприетарные зависимости с проприетарными qt-лицензиями. О какой бесплатности ты говоришь, если в реальном коммерческом продукте ты обязан башлять им бабло и сидеть под проприетарной лицензией? Вы там совсем ёбнулись, петучи?
Аноним 01/06/22 Срд 13:46:08 2368705 1330
>>2368558
Хз что те не хватает, на кюмл накатать такой делегат для отображения списка можно за пару минут.
Аноним 01/06/22 Срд 13:54:50 2368715 1331
>>2368705
Так у меня уже готовое приложение на qwidget. Как его на qml перевести?
Аноним 01/06/22 Срд 14:31:52 2368752 1332
>>2368558
Когда уже "комнатные дизайнеры" поймут, что красивый дизайн заключается не в том, как выглядит твое приложение, а как оно визуально вписывается в систему.
Аноним 01/06/22 Срд 15:49:04 2368821 1333
>>2368715
Если уже все на виджетах, то довольно геморройно, но можно отдельные элементы на qquickwidget делать.
Аноним 01/06/22 Срд 19:33:37 2369000 1334
image.png 16Кб, 1003x93
1003x93
>>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 2369043 1335
>>2369000
> Папизди мне тут
И что ты принёс? У тебя же по ссылкам и написано, что опенсорс под зоопарком разных версий GPL, а коммерческая под проприетарной лицензией самой qt.
Аноним 01/06/22 Срд 20:47:10 2369055 1336
>>2369043
>LGPL == GPL
Ясно, изучай матчасть, а потом возвращайся
Аноним 01/06/22 Срд 20:52:46 2369059 1337
Аноним 01/06/22 Срд 21:04:18 2369066 1338
>>2369059
так ты еще и js-петуч. пашол нахуй!
Аноним 01/06/22 Срд 21:29:23 2369080 1339
Глобальные переменные зло?
Аноним 01/06/22 Срд 21:32:13 2369081 1340
>>2369080
А то я слышал, что да, но если у меня объект должен жить все время, то почему бы и нет?
Аноним 01/06/22 Срд 21:52:16 2369092 1341
>>2369080
Глобальные неконстанты - зло.
1. приколы при рефакторинге
2. приколы при тестировании
3. приколы последовательности создания
4. приколы при остановке программы, деструкции
5. и вообще SOLID йопта

>>2369081
>объект должен жить все время
>все время
Всё да не всё
Аноним 01/06/22 Срд 21:56:04 2369097 1342
>>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 2369102 1343
>>2369097
>Аддоны - это ключевая часть либы
Тебе сказали учить матчасть, а не выебываться.
Аноним 01/06/22 Срд 22:11:37 2369107 1344
>>2369080
Всякие литералы и константы математические - норм
Аноним 01/06/22 Срд 22:15:42 2369110 1345
>>2369102
Нихуя пошли манёвры. У тебя базовый модуль многопоточности сразу под тремя лицензиями, в том числе и GPL, а ты тут виляешь жопой. Сейчас может ещё скажешь что половина qt ненужно, да? Так же как он у тебя стал бесплатным, так же и на LGPL натягиваешь, шиз.
И я так и не услышал как в реальном коммерческом проекте использовать qt и не сидеть под анальной проприетарной лицензией. Понабежали тут студенты-прыщевики со своей вымышленной швабодкой, которая кончается ровно в тот момент, когда начинаешь писать код не для хобби.
Аноним 01/06/22 Срд 22:19:35 2369112 1346
>>2369080
Да нет в общем то. Но раз уж ты в плюсовом треде, то и пользуйся нарративом, который задает язык, ооп, инкапсуляция и тд. Это как на бэхе картошку возить, довольно странное решение, не находишь?
Аноним 01/06/22 Срд 22:30:39 2369118 1347
>>2369080
Любые данные хуй пойми где - зло. Классы с состоянием тоже так-то говно в плане архитектуры. Если зайдёшь в какой-нибудь нормальный проект типа UE5, то там в классах почти нет переменных. У тебя данные должны жить ровно столько, сколько нужно коду и уж тем более не валяться где-то снаружи. Подобное говно только во всяких джавах и сишарпах используется, где фанатичный ООП и бюджеты в десятки мегабайт ОЗУ на вывод Хэлоу ворлда в консоль. А кресты никогда не были чисто ООП-языком, нехуй и стрелять себе в ноги, намеренно оставляя потенциальные места для утечки памяти, багов и ухудшения читаемости кода.
Аноним 01/06/22 Срд 22:36:32 2369122 1348
>>2369110
>У тебя базовый модуль многопоточности сразу под тремя лицензиями, в том числе и GPL, а ты тут виляешь жопой
>Что такое dual licensing
Ну йопт тваю мать, тебе же сказали учить матчасть. Написано же английский по-белому "licensing options" - выбирай любую, а ты опять хуйню постишь

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

>Понабежали тут студенты-прыщевики со своей вымышленной швабодкой, которая кончается ровно в тот момент, когда начинаешь писать код не для хобби.
Ты такой молодой и юный, а уже старый закостенелый пердун, который не может RTFM.
Еще и на мелкомягких дрочишь
Аноним 01/06/22 Срд 22:51:48 2369127 1349
>>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 2369129 1350
Как же хорошо, что можно юзать опенсорсный Qt в коммерческом проекте и ничего при этом не нарушать.
Аноним 01/06/22 Срд 23:15:26 2369143 1351
>>2369127
>У тебя даже Qt Core не весь под LGPL, дегенерат.
И тут ты такой с пруфами? Или опять в лужу пердишь?
Аноним 01/06/22 Срд 23:58:25 2369206 1352
и все таки, указатели и символы * & это что такое?
допустим на собесе спрашивают такое, что бы вы ответили? что это просто число? индекс в массиве байт памяти или как
Аноним 02/06/22 Чтв 00:37:50 2369223 1353
>>2369206
& взятие адреса - получение адреса объекта в памяти
⚹ разыменование указателя - получение ссылки на объект по адресу указателя
Указатель - переменная, хранящая адрес ячейки памяти (адрес 1 байта объекта). Адрес - целый беззнаковый тип от 0 до 2 ^ (разрядность ОС - 1).
Аноним 02/06/22 Чтв 04:08:50 2369265 1354
>>2369223
что такое переменная?
область памяти? тогда получается что область памяти хранит адрес ячейки памяти
что такое ссылка?
Аноним 02/06/22 Чтв 06:54:50 2369287 1355
1515244167717.png 333Кб, 1901x1980
1901x1980
>>2369143
> И тут ты такой с пруфами?
Аноним 02/06/22 Чтв 07:49:43 2369319 1356
>>2369223
>до 2 ^ (разрядность ОС - 1).
Ты чему детей учишь, ирод?
Аноним 02/06/22 Чтв 08:58:44 2369340 1357
Пиратка CLION есть у кого, котаны?

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

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

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

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

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

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

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

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






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

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

https://pastebin.com/mP0HWvne

Аноним 02/06/22 Чтв 15:37:15 2369684 1391
а можно комплятор от визуалки отдельно скачать? чисто комплятор консольный без этой ебучей студии
Аноним 02/06/22 Чтв 15:40:16 2369687 1392
>>2369684
Нет, теперь никак.
Можешь скачать mingw.
Аноним 02/06/22 Чтв 15:42:41 2369690 1393
>>2369687
спасибо. ладно. пожалуйста, скажи, молю а что так сильно gcc от микрософтовского отличается? Ну в плане того какой код генерируется?
Аноним 02/06/22 Чтв 15:44:49 2369694 1394
>>2369687
Ну mingw короче скачаю. Спасибо. Я уж загуглил что это тотже gcc но под шинду. Мерси.
Аноним 02/06/22 Чтв 15:48:15 2369697 1395
image.png 15Кб, 903x483
903x483
Двач, нужна помощь.
Есть кнопка, создающая на windows форме массив кнопок. Нужно модифицировать этот код так, чтобы программа создавала эти кнопки в виде цветков. Пытался найти в гугле и что-то нифига дельного не нашел. Код можно глянуть тут https://0bin.net/paste/SxhzkgTX#9gwqRes9DFl4kdmFRL53+BLC-R6x36mzGCxLzG/6FtY
Аноним 02/06/22 Чтв 15:49:25 2369700 1396
>>2369697
>winforms
Ну это больше наверное в c# тред чем сюда
Аноним 02/06/22 Чтв 15:53:42 2369706 1397
>>2369700
Это сюда, у него же древний Managed C++/CLI
Аноним 02/06/22 Чтв 15:55:11 2369707 1398
>>2369676
Что значит в виде цветка? Типо что бы они по кругу вокруг первой кнопки? или что бы они были повернуты перпендикулярно касательной относительно центра окружности вокруг которого они вытроились?
Аноним 02/06/22 Чтв 15:59:29 2369712 1399
>>2369697
>>2369707
ааа, что бы каждая кнопка была сама ввиде цветка, ну это надо юзать маски, либо прозрачные текстурки накладывать
Аноним 02/06/22 Чтв 16:01:50 2369717 1400
Аноним 02/06/22 Чтв 16:02:22 2369718 1401
Аноним 02/06/22 Чтв 16:03:49 2369719 1402
>>2369706
Жесть я думал они же давно все в шарпистов переродились
Аноним 02/06/22 Чтв 20:41:48 2369997 1403
>>2369659
А еще я видел интерпретатор С, где можно говнякать скрипты без компиляции. Для С++ наверно тоже есть, хотя хз - для развлечения слишком сложный проект, а ни для чего больше такое не нужно..
Аноним 02/06/22 Чтв 20:58:07 2370021 1404
> интерпретатор
g++ hui.cpp -o hui && ./hui && rm -f hui
Аноним 02/06/22 Чтв 21:07:29 2370033 1405
Аноним 02/06/22 Чтв 21:10:32 2370035 1406
Аноним 02/06/22 Чтв 22:04:01 2370071 1407
1 wHKe6W4opLmk6[...].png 16Кб, 518x556
518x556
Аноним 02/06/22 Чтв 22:08:36 2370073 1408
посоветуйте плиз текстовый редактор для проверки синтаксиса с\с++ желательно без комплятора у меня уже есть. мне просто синтаксис чекать
Аноним 02/06/22 Чтв 22:14:24 2370079 1409
>>2370073
> желательно без комплятора у меня уже есть
А до этого ты в блокноте что ли писал код?
Аноним 02/06/22 Чтв 22:16:39 2370081 1410
Capture.PNG 23Кб, 1182x612
1182x612
>>2370079
Ну вообще-то да. И честно говоря устал уже потому что элементарной подсветки комментариев нет. Хорошо хоть комплятор ошибки выдаёт по которым можно понять. Устал от этого. Посоветуй, пожалуйста, редактор кода.
Аноним 02/06/22 Чтв 22:16:58 2370083 1411
>>2370073
Такого не существует в природе. Шаблоны только после компиляции скажут что ты пидор.
Аноним 02/06/22 Чтв 22:17:29 2370084 1412
>>2370083
Хорошо, а можно текстовый редактор к которому можно подключить свой комплятор?
Аноним 02/06/22 Чтв 22:19:09 2370087 1413
Аноним 02/06/22 Чтв 22:19:55 2370088 1414
Аноним 02/06/22 Чтв 22:24:35 2370090 1415
>>2370087
> обучающее видео как поменять обои в редакторе
найс
Аноним 02/06/22 Чтв 22:25:48 2370091 1416
>>2370090
Ничего не сравнится с тутроиалами от индусов. Хелло тудэй ай виль шоу ю хау то инсталь визуаль студио ту вазуанд найнтин...
Аноним 02/06/22 Чтв 22:28:43 2370093 1417
Можно notepad++ скачать и туда комплятор прицепить(вроде бы) это уж прям для таких любителей всё ручками собирать себе.
Аноним 02/06/22 Чтв 22:45:02 2370107 1418
>>2370081
Советую сходить к доктору, у тебя с башкой проблемы.
Аноним 02/06/22 Чтв 22:53:25 2370111 1419
>>2370083
Синтаксис все равно чекается, пидор скажут на более тонкие вещи.
Аноним 02/06/22 Чтв 22:54:14 2370113 1420
1654199418768.jpg 161Кб, 1018x1115
1018x1115
Аноним 02/06/22 Чтв 22:57:28 2370116 1421
>>2370111
Да нихуя. До компиляции он может быть нормальным, а после - подчёркнутым красным и с ошибкой.
Аноним 02/06/22 Чтв 23:03:07 2370118 1422
>>2370113
Блэт а кто же прав, мне одни говорят что в ассемблер а ты говоришь что сразу в двоичный...
Аноним 02/06/22 Чтв 23:05:43 2370122 1423
>>2370118
Все правы, в разных компиляторах сделано по-разному. В стандарте нигде не сказано "надо обязательно сначала компилировать в ассемблер и только потом в двоичный, иначе у вас не C++".
Аноним 02/06/22 Чтв 23:06:39 2370125 1424
>>2370122
Спасибо. А как допустим вот излюбленый всеми gcc и g++ компилируют с ассемблером или без? а от майкрософт как?
Аноним 02/06/22 Чтв 23:23:51 2370140 1425
>>2370125
Он компилирует во внутреннее представление фронтендом, которое потом уже трансформируется бекендом в двоичный код.
Аноним 02/06/22 Чтв 23:31:34 2370147 1426
Как в 11 стандарте получить время модификации файла? Есть универсальный способ для всех систем? Сейчас трахаюсь с fs experimental, но ничего рабочего не могу найти.
Аноним 02/06/22 Чтв 23:32:07 2370148 1427
>>2370140
Спасибо. Последний воропс и я отстану. А g++ по умолчанию в каком режиме компилирует в debug или release? У меня он компилирует программу, но стоит её переместить за пределы директории комплятора она ругается на отстствие библиотек, подозреваю что режим debug стоит
Аноним 03/06/22 Птн 00:17:23 2370179 1428
>>2370147
Очевидно, что если нет std::filesystem::last_write_time, то оно есть в бусте. Либо дёргай посекс или винапи.
Аноним 03/06/22 Птн 00:21:46 2370180 1429
Шёл 2к22 год, кресты всё ещё неюзабельны без буста.
Аноним 03/06/22 Птн 00:23:32 2370183 1430
char же везде 1 байт?
Аноним 03/06/22 Птн 00:23:37 2370184 1431
>>2370180
Зато есть корутины.
Аноним 03/06/22 Птн 00:25:04 2370187 1432
>>2370183
Да, но байт не всегда был 8 бит.
Аноним 03/06/22 Птн 00:32:07 2370191 1433
>>2370187
Зато сейчас всегда.
Аноним 03/06/22 Птн 00:45:29 2370195 1434
image.png 106Кб, 822x497
822x497
image.png 14Кб, 806x190
806x190
16477926810392.webm 1036Кб, 202x360, 00:00:14
202x360
>>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 2370196 1435
>>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 2370197 1436
>>2370195
>Заставить это дополнение работать у меня не получилось, см пикрел 2.
Не исключаю свою рукожопость, кстати. У меня очень хуёво получалось работать с плюсами в vscode потому что, в отличии от вижуал студии, с компилятором приходится работать чуть ли не напрямую
Аноним 03/06/22 Птн 02:33:25 2370216 1437
144537564718310[...].jpg 54Кб, 673x668
673x668
Аноны, нахуя нужно ООП? В книгах и тытруба нашел примеры, аля, создают два класса - жук и паук. Если вводят цифру 6, то срабатывает первый, если 8 то второй. Зачем ебать себе мозги, вместо написания ифов в две строчки?
С наследованием один тип вообще замудрил. Создал класс А, в нем переменную, унаследовал в класс Б, там унаследованную переменную посчитал со второй. После перекинул все это в класс В и вывел. Пиздец просто. Аноны, приведите, пожалуйста, примеры, где ООП облегчает работу, или без него вообще нихуя работать не будет. Заранее спасибо.
Аноним 03/06/22 Птн 06:49:54 2370248 1438
>>2370216
ООП как и почти все в программировании придумали для управления сложностью. Дебильные примеры про жуков, работников и т.п. из учебников вообще не дают понятия нахрена это надо, там слишком простые структуры данных и управления. Надо сразу давать делать что-то более менее структурно сложное, а когда человек охуеет от ифов - показывать как это элегантно решается с ООП
Аноним 03/06/22 Птн 06:54:38 2370250 1439
>>2370118
В ассемблер раньше компилировали потому что ассемблер обычно уже был написан, для простоты. Современным компиляторам это обычно не надо, в ассемблер лезут только для использования редких опкодов, которые компилятор не вывозит.
Аноним 03/06/22 Птн 06:57:05 2370251 1440
>>2370116
Значит у тебя не очень хороший статический анализатор, не думал об этом? Мой пишет варнинги даже на то, на что гцц пофиг.
Аноним 03/06/22 Птн 07:03:51 2370255 1441
Господа, есть вопрос. Хочу написать программу-поисковик. Пользователь вводит название продукта, и код должен его найти в текстовом файле. С этим текстовым файлом довольно заебно работать и хочу спросить - чем его можно заменить?
Аноним 03/06/22 Птн 10:51:22 2370398 1442
>>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 2370434 1443
>>2370196
спасибо понял. просто проблема в том что эти модули не относятся к моей программы этоо библотеки комплятора самогоо. на другом компляторе она компилировалась и без всяких проблем перемащалась.

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

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

https://hastebin.app/629afff9191a62001c35ebaf

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

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

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

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

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

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

Как пример - строки. Вроде с 11 года COW (копирование при записи) строки в стандарте запретили. По этому копируя строку по левой ссылке ты будешь выделять память. А через правую - просто переместишь.
Аноним 06/06/22 Пнд 23:34:45 2373314 1503
Кстати от мува в пределах одного скопа помимо простой передачи владения есть какой-то профит? Он же для примитивов память не освобождает?
Аноним 06/06/22 Пнд 23:41:22 2373319 1504
>>2373314
Мув просто перемещает же. Памятью объект сам должен управлять.
Аноним 06/06/22 Пнд 23:44:33 2373320 1505
>>2373319
Ну це да, вот я и спрашиваю есть ли смысл мувать.
Аноним 06/06/22 Пнд 23:47:09 2373322 1506
>>2373320
Ну только из временного объекта жи.
Аноним 06/06/22 Пнд 23:59:56 2373330 1507
А допустимо ли для записи в переменную a по адресу писать так &a?
Или лучше создать указатель
a и использовать его?
Аноним 07/06/22 Втр 00:15:04 2373340 1508
>>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 2373346 1509
>>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 2373348 1510
>>2373346
блджядь
T t5(std::move(t4));
Аноним 07/06/22 Втр 12:20:55 2373615 1511
>>2345617 (OP)
opengl это альтернатива directx или они вместе могут быть в в проекте?
Аноним 07/06/22 Втр 15:16:33 2373814 1512
>>2373615
Это инструмент для управления видеокартой. Как и vulkan и metal api. Их основное назначение - рисовать на мониторе. Ты можешь их включить в один проект, дабы была кросплатформенность. Но тебе нужно тогда будет придумывать более абстрактную обвязку к ним.
Аноним 07/06/22 Втр 16:03:46 2373879 1513
>>2373615
Да, альтернатива, ты либо используешь одно, либо другое.
Аноним 07/06/22 Втр 16:55:00 2373933 1514
image.png 273Кб, 3064x1002
3064x1002
list <connection>::iterator it = listConnection.back();

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

и зачем во всех гайдах пишут вот так?
it = listConnection.erase(it);
почему нельзя просто удалить элемент, а нужно обязательно приравнивать итератор, типо приудалении он возвращает теперь новый элемент который теперь занял его место?
Аноним 07/06/22 Втр 17:32:40 2373965 1515
Аноним 07/06/22 Втр 17:33:25 2373967 1516
Аноним 07/06/22 Втр 17:36:19 2373971 1517
>>2373965
ну я не хочу использовать auto, и как мне удалить последний элемент листа? end() - 1?
Аноним 07/06/22 Втр 17:39:50 2373978 1518
>>2373971
pop_back()
Почитай мануал, не ленись.
Аноним 07/06/22 Втр 17:40:24 2373980 1519
>>2373978
ох ё, точно, я забыл что такое есть
Аноним 07/06/22 Втр 17:42:08 2373982 1520
image.png 354Кб, 3051x1399
3051x1399
>>2373978
стой не уходи, не знаешь что может быть не так?
Аноним 07/06/22 Втр 17:48:51 2373992 1521
>>2373982
Предположу что в классе connection у тебя есть буфер вида char buff[16424]. Либо убирай флаг компилятора (или это санитайзер/решарпер/или что там у тебя стоит) либо выделяй в куче через new int[size].
Аноним 07/06/22 Втр 17:50:25 2373995 1522
>>2373982
Ебать у тебя монитор конешн. Неужели удобно?
Аноним 07/06/22 Втр 17:52:17 2374000 1523
>>2373992
но ведь лист выделяет данные в куче, то как может быть что элемент char buff выделиться не в куче.
Аноним 07/06/22 Втр 17:55:42 2374005 1524
image.png 36Кб, 687x462
687x462
>>2373995
это на работе, какой дали с таким и сижу, я до этого пользовался монитором 4 на 3, 1240 на 1024. Нормально, удобно, иногда приходиться шею чуть чуть поворачивать, что бы нужное увидеть
Аноним 07/06/22 Втр 18:00:01 2374015 1525
image.png 160Кб, 1302x1365
1302x1365
image.png 143Кб, 1320x1320
1320x1320
Аноним 07/06/22 Втр 18:01:40 2374016 1526
>>2374000
Выражение в скобках (connection()) это создание временного безымянного объекта на стеке, которое потом копируется/сдвигается в новый элемент std::list (который создан в куче).
Аноним 07/06/22 Втр 18:02:50 2374017 1527
>>2374016
точно, это надо создать в куче его и патом сдвинуть в листе
Аноним 07/06/22 Втр 18:04:49 2374020 1528
Аноним 07/06/22 Втр 22:44:50 2374290 1529
Как вкатиться во многопоток?
Аноним 08/06/22 Срд 02:17:49 2374506 1530
А как вообще пишут сложные приложения на плюсах без кутов? Точнее без механизма сигналов слотов.
Вот допустим у меня есть класс повар, готовящий печенья и класс, продавец эти печенья продающий, оба работают в отдельных тредах. И как вы сообщите продавцу что печенье готово и положите его в ящик очередь на продажу? На кутах понятно, просто сигнал вызвать соединяющий два класса.
Кстати что вообще про сигналы-слоты думаете? Есть какие то подводные камни использования? Я пока не столкнулся, по-моему очень крутая штука. Подобное вообще есть в ядре других языков?
Аноним 08/06/22 Срд 02:30:40 2374509 1531
>>2374506
> На кутах понятно, просто сигнал вызвать соединяющий два класса.
Это подход всяких джаваскриптов: верить в магию, не задумываться, как она работает, хуйнул готовый компонент из фреймворка, и всё заебись. Хотя хватило бы обычной конкурентной очереди.
Аноним 08/06/22 Срд 05:23:10 2374528 1532
>>2374506
Никак. Куты и существуют чтобы дрессировать макак-рабов которые без кутов не могут. Хитрожопая схема подсаживать на зависимость всякий слабохарактерный сброд, которого всегда дохуя, а значит стабильный бизнес гарантирован.
Аноним 08/06/22 Срд 11:39:42 2374640 1533
16436537685330.gif 1355Кб, 379x400
379x400
чому нельзя написать 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 2374645 1534
>>2374640
using win32 = foo::bar::win32;
using x11 = foo::bar::x11;
Аноним 08/06/22 Срд 11:49:52 2374647 1535
>>2374645
> namespace win32 = foo::bar::win32;
> namespace x11 = foo::bar::x11;
Fix
Аноним 08/06/22 Срд 11:52:38 2374650 1536
Аноним 08/06/22 Срд 12:33:39 2374678 1537
>>2374509
>>2374528
Информативно, а я и не спорю что макака, но пытаюсь тащемто разобраться
Аноним 08/06/22 Срд 13:33:24 2374725 1538
залупа ёбаная.PNG 6Кб, 282x156
282x156
что не так блядь.PNG 4Кб, 340x198
340x198
пизда нахуй.PNG 5Кб, 900x91
900x91
Блять я умолюя ну помогите на ёбаные советы из интернета не работают уже забеался. Ну как этой ёбаный sqlite3.h прилинковать на c++ умоляю блять поомгите нахуй заебался уже блять с этой поеботиной ебучей

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

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

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

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

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

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

p

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

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

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

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

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

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

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

Так вот, вернувшись к началу. Указатель это не ссылка, ссылкой является разыменование, поэтому для разыменования нужен объект-цель как для любой ссылки. Но указателю это не нужно, не его проблемы.
Аноним 09/06/22 Чтв 07:16:49 2375455 1575
>>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 2375503 1576
>>2375455
Сорян, я не читал выше, просто прокомментировал насчет двойных указателей, зачем они нужны, что ответ самоочевиден. Если конечно понимать что такое указатели, а не путать их со ссылками.

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

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 2375527 1585
>>2375517
> высосанный из пальца говнокод
> сидят придумывают хуйню как поломать компилятор
При этом половина багов памяти в сишном коде связаны с dangling pointer. Все прям сидят и специально ломают компилятор, да? А ведь можно просто не ложить хуй на рекомендации, они же очень простые: использовать вместо указателей везде где можно ссылки или unique_ptr, не использовать сишные массивы, не использовать больше одного указателя на участок памяти.
Аноним 09/06/22 Чтв 10:47:31 2375528 1586
>>2375526
Ты какую-то хуйню написал. У тебя значения только первый элемент массива перезаписывают.
А мусор потому что строка должна оканчиваться \0
Аноним 09/06/22 Чтв 11:17:02 2375545 1587
Аноним 09/06/22 Чтв 11:30:45 2375559 1588
Аноним 09/06/22 Чтв 11:38:11 2375563 1589
>>2373982
>пик
Кстати, а есть ли какое-нибудь расширение, в котором вместо всплывающего текста, показывалась бы аниме девочка, которая рассказывала бы этот текст? Необязательно для VS.
Аноним 09/06/22 Чтв 11:39:19 2375564 1590
>>2375563
я не знаю, у меня на работе визуал студиа была уже с таким фото, я не стал убирать
Аноним 09/06/22 Чтв 11:57:46 2375577 1591
>>2375434
>указатель это что-то особенное (типа ссылки), но это чушь.
Если мне память не изменяет, то в некоторых системах он мог иметь плавающий размер. Из-за разницы размеров машинного слова, и адреса памяти.

Имхо указатель - просто ячейчка, которая может куда-то указывать.
Аноним 09/06/22 Чтв 14:25:44 2375691 1592
В чем преимущество VS Professional перед VS Community?
Аноним 09/06/22 Чтв 14:26:23 2375693 1593
>>2375528
Двощ считает, что (скобка) i (скобка) это тег разметки italic.
Аноним 09/06/22 Чтв 15:22:58 2375736 1594
Аноним 09/06/22 Чтв 15:26:55 2375743 1595
image.png 1522Кб, 1200x675
1200x675
Аноним 09/06/22 Чтв 15:57:18 2375765 1596
>>2375752
ну тебе надо библиотеку/самому написать 3д движка, наверняка там есть функция загрузки 3д модели
Аноним 09/06/22 Чтв 16:33:52 2375778 1597
Сап, объясните долбаебу нахуя в плюсах макроссы?
Аноним 09/06/22 Чтв 17:35:31 2375831 1598
>>2375778
Предположу что это груз наследства от СИ.

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

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

https://www.sqlite.org/c3ref/exec.html
ccылка на функцию в документации
Аноним 11/06/22 Суб 13:50:25 2377153 1643
>>2377104
Ну очевидно что юзать либры которые доступны в винде по умолчанию. Я не претендую на истинность но наверное писать приложение с использованием windows.h либры он же win32api
Аноним 11/06/22 Суб 13:51:38 2377154 1644
sqlite3.PNG 16Кб, 819x345
819x345
>>2377151
прокомментировал кое что чтобы вам было проще код понять
Аноним 11/06/22 Суб 14:25:16 2377168 1645
>>2377154
Твоя проблема в
>function pointer
Аноним 11/06/22 Суб 14:34:23 2377171 1646
пофиксил спасибо.PNG 8Кб, 763x146
763x146
>>2377168
спасибо, анон огромное. пофиксил. я просто нафаня, первый раз на практике делал указатель на функцию
Аноним 11/06/22 Суб 15:20:46 2377191 1647
>>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 2377192 1648
>>2377191
спасибо, я о таких конструкциях просто не знал. учился в основном по С книге, с++ читал но упор больше на классы и шаблоны там делал, стараясь не обращаться внимания на то что итак есть в си.
Аноним 11/06/22 Суб 15:24:42 2377194 1649
>>2377192
Лучше напиши отдельный класс для работы с sqlite
Аноним 11/06/22 Суб 15:28:31 2377198 1650
>>2377194
Спасибо, но это всё для меня сейчас пустые слова. Мне бы сейчас минимально базово научиться хоть что-то делать, потом уже можно будет переписывать код лучше, думать о каких-то классах. Я щас даже не могу высрать хотя бы как могу то что мне нужно.
Первая серьёзная программа крупная
Аноним 11/06/22 Суб 18:44:17 2377321 1651
>>2377171
Нахрена нужен отдельный указатель, если и так есть функция? Имя функции и есть указатель же.
Аноним 11/06/22 Суб 18:51:20 2377323 1652
>>2377321
>Имя функции и есть указатель же
Хуя у вас тут в палате №6 запоздалое обострение.
Аноним 11/06/22 Суб 19:04:06 2377332 1653
Аноним 11/06/22 Суб 19:04:10 2377333 1654
>>2377321
Их так в книжках учат. Там ещё и пишут, что функцию через указатель надо вызывать как (*fp)(args), когда можно просто fp(args).
Аноним 11/06/22 Суб 19:05:29 2377336 1655
>>2377321
>>2377323
Кстати, да. Анон а поясни в чём отличие между указателм функции и прямым вызовом функции? Разве обычный вызов функции не перенаправляет на исполнямый её блок кода?
Аноним 11/06/22 Суб 19:16:34 2377345 1656
Аноним 11/06/22 Суб 19:18:42 2377348 1657
Аноним 11/06/22 Суб 21:22:02 2377421 1658
>>2377336
В том, что имя функции - константный указатель.
void f(int a){}
void g(int b){}
auto ptr = f;
f = g нельзя, ptr = g можно.

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

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

И я как-то хз, почему не сделать просто ещё один шаблонный параметр вместо указателя, чтобы функция принимала любой callable, а не только указатели?
Аноним 12/06/22 Вск 16:29:33 2377922 1673
Блет один и тот же код в мейне, на тех же компиляторах, с той же версией языка, в той же иде, но на разных системах сборки (qmake, cmake) работает по-разному. Это вообще как нахуй
Аноним 12/06/22 Вск 16:41:07 2377943 1674
>>2377922
Они разные флаги компилятора выставляют.
Аноним 12/06/22 Вск 17:04:06 2377977 1675
>>2377922
дай пример. Интересно
Аноним 12/06/22 Вск 17:06:29 2377980 1676
Аноним 12/06/22 Вск 17:25:35 2378008 1677
Как накатить gcc 12 на шинду без злоебучих костылей? Да хоть что-нибудь, что модули поддерживает и не от майкрософт
Аноним 12/06/22 Вск 17:53:21 2378025 1678
>>2378008
Куда ты так торопишься?
Аноним 12/06/22 Вск 18:04:06 2378034 1679
>>2378008
>gcc 12 на шинду
msys2?
>что модули поддерживает и не от майкрософт
а какие сборщики поддерживают модули сейчас?
симейк вроде не поддерживает
ты будешь вручную прописывать команды компилятора?
Аноним 12/06/22 Вск 18:15:01 2378044 1680
Аноним 12/06/22 Вск 18:16:52 2378048 1681
>>2378044
Делать тебе нехуй, сервера на винапи писать.
Аноним 12/06/22 Вск 18:29:09 2378059 1682
>>2378048
Qt socket тоже гавно какое то если честно, ебал эти сигналы хуялы.
Я разные либы тестирую. Собсно мне нужна небольшая часть кода и на асио у меня есть рабочая версия, но чет впадлу тянуть стороннюю либу, когда можно нативными инструментами обойтись
Аноним 12/06/22 Вск 18:32:12 2378063 1683
>>2378059
Winapi тоже сторонняя либа.
Аноним 12/06/22 Вск 18:36:12 2378070 1684
>>2378059
QtSocket очень удобная и легкая в использовании либа.
Аноним 12/06/22 Вск 18:36:38 2378071 1685
>>2378063
А stl, qt какие либы? Winapi в винду так то зашита, а за бустом надо идти куда то, я это имел ввиду
Аноним 12/06/22 Вск 18:41:43 2378077 1686
>>2378070
Наверное так и есть. Но она у меня подбаговано работала, принимает пустые сообщения иногда, с асио таких проблем нет. И асио быстрее работает
Аноним 12/06/22 Вск 18:53:59 2378091 1687
>>2378071
Stl стандартная, но пока что не поддерживает сокеты.
Аноним 12/06/22 Вск 19:05:36 2378101 1688
>>2378091
Надеюсь никогда и не будет
Аноним 12/06/22 Вск 22:04:57 2378266 1689
>>2378077
>И асио быстрее работает
Как тестировал?
Аноним 12/06/22 Вск 22:40:44 2378283 1690
>>2378266
В кутах тулза есть чел
Аноним 12/06/22 Вск 22:54:07 2378302 1691
>>2378283
Т.е. кутовая тула показала, что сокеты Qt медленнее Asio ? ? ?
Аноним 12/06/22 Вск 23:15:34 2378327 1692
Как написать FTP сервак на асии?
Аноним 12/06/22 Вск 23:28:27 2378344 1693
>>2378283
Что за тулза, что тестировать?

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

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

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

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

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

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

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

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

На вопрос в >>2386247 лучше бы ответил, вместо того, чтобы так трястись.
Аноним 22/06/22 Срд 18:41:18 2386500 1746
>>2386485
Код ответит на все вопросы, тупорылая свинина, не может осилить пару небольших функций выложенных студией на блюдечке. Кто тебя еще с ложечки будет кормить, тупое недоразвитое говно, мамашу-шлюху попроси, может поняньчится со своеё личинкой.
Аноним 22/06/22 Срд 18:48:48 2386507 1747
>>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 2386550 1748
АХАХА.mp4 215Кб, 360x434, 00:00:02
360x434
>>2386500
Ебать тебя рвёт с простых вопросов.
Я код смотрел, поэтому и спрашиваю здесь. Ты же, в свою очередь, либо неумело троллишь тупостью, либо с серьёзным ебалом бугуртишь из-за того, что пытается разобраться в плюсах лучше тебя.

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